@@ -1794,6 +1794,7 @@ Security</h4>
1794
1794
''--foo: attr(foo type(<number>)); background-image: src(string(var(--foo)))''
1795
1795
needs to be invalid as well.
1796
1796
1797
+
1797
1798
<h4 id=attr-cycles>
1798
1799
Cycles</h4>
1799
1800
@@ -1856,6 +1857,83 @@ makes the containing [=declaration=] [=invalid at computed-value time=].
1856
1857
</pre>
1857
1858
</div>
1858
1859
1860
+ <!-- Big Text: ident()
1861
+
1862
+ ████ ████▌ █████▌ █ █▌ █████▌ ██ ██
1863
+ ▐▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ ▐█
1864
+ ▐▌ █▌ █▌ █▌ ██▌ █▌ █▌ █▌ ▐█
1865
+ ▐▌ █▌ █▌ ████ █▌▐█ █▌ █▌ █▌ ▐█
1866
+ ▐▌ █▌ █▌ █▌ █▌ ██▌ █▌ █▌ ▐█
1867
+ ▐▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ ▐█
1868
+ ████ ████▌ █████▌ █▌ ▐▌ █▌ ██ ██
1869
+ -->
1870
+
1871
+ <h3 id=ident>
1872
+ Constructing <<custom-ident>> values: the ''ident()'' function</h3>
1873
+
1874
+ <!-- https://github.com/w3c/csswg-drafts/issues/9141 -->
1875
+
1876
+ The <dfn>ident()</dfn> function is an [=arbitrary substitution function=]
1877
+ that can be used to manually construct <<custom-ident>> values from several parts.
1878
+
1879
+ <pre class=prod>
1880
+ <dfn function lt="ident()"><<ident()>></dfn> = ident( <<ident-arg>> + )
1881
+ <dfn><<ident-arg>></dfn> = <<string>> | <<integer>> | <<ident>>
1882
+ </pre>
1883
+
1884
+ Issue(w3c/csswg-drafts#11426): Should we allow a fallback value?
1885
+
1886
+ The ''ident()'' function can be used as a value for any property or function argument
1887
+ that accepts a <<custom-ident>> .
1888
+
1889
+ <div class=example>
1890
+ In the following example,
1891
+ each matched element gets a unique <dfn><<'view-timeline-name'>></dfn>
1892
+ in the format of <code> "vtl-<em> number</em> "</code> .
1893
+ The <code><em> number</em></code> is generated using ''sibling-index()'' .
1894
+
1895
+ ```css
1896
+ .item {
1897
+ /* vtl-1, vtl-2, vtl-3, … */
1898
+ view-timeline-name: ident("vtl-" sibling-index());
1899
+ }
1900
+ ```
1901
+ </div>
1902
+
1903
+ While in many cases ''attr()'' with the <<attr-type>> set to <code> type(<<custom-ident>> )</code> will do,
1904
+ ''ident()'' can be used to construct a <<custom-ident>> using values that come from other elements.
1905
+
1906
+ <div class=example>
1907
+ In the following example, the ''ident()'' function uses a custom property
1908
+ which is defined on a parent.
1909
+
1910
+ ```css
1911
+ .card[id] {
1912
+ /* E.g. card1, card2, card3, … */
1913
+ --id: attr(id);
1914
+
1915
+ view-transition-name: ident(var(--id));
1916
+ view-transition-class: card;
1917
+
1918
+ h1 {
1919
+ /* E.g. card1-title, card2-title, card3-title, … */
1920
+ view-transition-name: ident(var(--id) "-title");
1921
+ view-transition-class: card-title;
1922
+ }
1923
+ }
1924
+ ```
1925
+ </div>
1926
+
1927
+ To generate a <<dashed-ident>> , put <code> "--"</code> as the first argument.
1928
+
1929
+ <div class=example>
1930
+
1931
+ ```css
1932
+ .element {
1933
+ anchor-name: ident("--" attr(id));
1934
+ }
1935
+ ```
1936
+ </div>
1859
1937
1860
1938
<!-- Big Text: random
1861
1939
0 commit comments