@@ -272,25 +272,6 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
272272 ‘< code class =css > attr()</ code > ’</ a >
273273 </ ul >
274274
275- < li > < a href ="#value-stages "> < span class =secno > 9. </ span > Stages of Value
276- Computation</ a >
277- < ul class =toc >
278- < li > < a href ="#specified "> < span class =secno > 9.1. </ span > Finding the
279- specified value</ a >
280-
281- < li > < a href ="#computed "> < span class =secno > 9.2. </ span > Finding the
282- computed value</ a >
283-
284- < li > < a href ="#finding-the-used-value "> < span class =secno > 9.3.
285- </ span > Finding the used value</ a >
286-
287- < li > < a href ="#actual "> < span class =secno > 9.4. </ span > Finding the actual
288- value</ a >
289-
290- < li > < a href ="#stages-examples "> < span class =secno > 9.5. </ span >
291- Examples</ a >
292- </ ul >
293-
294275 < li class =no-num > < a href ="#acknowledgments "> Acknowledgments</ a >
295276
296277 < li class =no-num > < a href ="#references "> References</ a >
@@ -1754,319 +1735,6 @@ <h4>Font families</h4>
17541735</div>
17551736-->
17561737
1757- < h2 id =value-stages > < span class =secno > 9. </ span > Stages of Value
1758- Computation</ h2 >
1759-
1760- < p class =issue > Shouldn't this section move to < a href ="#CSS3CASCADE "
1761- rel =biblioentry > [CSS3CASCADE]<!--{{CSS3CASCADE}}--> </ a > ?
1762-
1763- < p > Once a user agent has parsed a document and constructed a document tree,
1764- it must assign, for every element in the tree, a value to every property
1765- that applies to the target media type.
1766-
1767- < p > The final value of a CSS3 property for a given element is the result of
1768- a four-step calculation:
1769-
1770- < ul >
1771- < li > First, cascading and inheritance yields the < a
1772- href ="#specified-value0 "> < i > specified value</ i > </ a > .
1773-
1774- < li > Second, relative values are computed into absolute values as far as
1775- possible without formatting the document, thereby yielding the < a
1776- href ="#computed-value "> < i > computed value</ i > </ a > .
1777-
1778- < li > The computed value is transformed into the < a
1779- href ="#used-value0 "> < i > used value</ i > </ a > in the formatting process.
1780-
1781- < li > Finally, the computed value is transformed to the < a
1782- href ="#actual-value "> < i > actual value</ i > </ a > based on constraints of
1783- local environment.
1784- </ ul >
1785-
1786- < h3 id =specified > < span class =secno > 9.1. </ span > Finding the < dfn
1787- id =specified-value > specified value</ dfn > </ h3 >
1788-
1789- < p > The < dfn id =specified-value0 > specified value</ dfn > is the output of the
1790- < a href ="http://www.w3.org/TR/CSS21/cascade.html "> cascading and
1791- inheritance process</ a > . < a href ="#CSS21 "
1792- rel =biblioentry > [CSS21]<!--{{!CSS21}}--> </ a > < a href ="#CSS3CASCADE "
1793- rel =biblioentry > [CSS3CASCADE]<!--{{CSS3CASCADE}}--> </ a >
1794-
1795- < p class =note > If the output of the cascade is ‘< code
1796- class =css > inherit</ code > ’ or ‘< code
1797- class =css > initial</ code > ’, the specified value contains the
1798- inherited or initial value, respectively. See examples (d) and (e) in the
1799- < a href ="#stages-examples "> table below</ a > .
1800-
1801- < p > The cascading and inheritance process guarantees that a < a
1802- href ="#specified-value0 "> < i > specified value</ i > </ a > exists for every
1803- property on every element.
1804-
1805- < h3 id =computed > < span class =secno > 9.2. </ span > Finding the computed value</ h3 >
1806-
1807- < p > A < a href ="#specified-value0 "> < i > specified value</ i > </ a > can be either
1808- absolute (i.e., not relative to another value, as in ‘< code
1809- class =property > red</ code > ’ or ‘< code
1810- class =css > 2mm</ code > ’) or relative (i.e., relative to another value,
1811- as in ‘< code class =property > auto</ code > ’, ‘< code
1812- class =css > 2em</ code > ’).
1813-
1814- < p > For absolute values, no extra processing is needed to find the computed
1815- value. For relative values, on the other hand, computation is necessary to
1816- find the computed value: percentages must be multiplied by a reference
1817- value (each property defines which value that is), values with relative
1818- units (em, ex, vh, vw) must be made absolute by multiplying with the
1819- appropriate reference size, certain keywords (e.g., ‘< code
1820- class =property > smaller</ code > ’, ‘< code
1821- class =property > bolder</ code > ’) must be replaced according to their
1822- definitions, and valid relative URLs must be resolved to become absolute.
1823- See examples (f), (g) and (h) in the < a href ="#stages-examples "> table
1824- below</ a > .
1825-
1826- < p > The < dfn id =computed-value > computed value</ dfn > is the result of
1827- resolving the < a href ="#specified-value0 "> < i > specified value</ i > </ a >
1828- insofar as possible without formatting the document, as defined in the
1829- "Computed value" line of the property definition tables.
1830-
1831- < p class =note > The < a href ="#computed-value "> < i > computed value</ i > </ a > is
1832- the value that is transferred from parent to child during inheritance.
1833-
1834- < p > The computed value exists even when the property does not apply (as
1835- defined by the ‘< code class =css > Applies To</ code > ’ line).
1836- However, some properties may define the computed value of a property for
1837- an element to depend on whether the property applies to that element.
1838-
1839- < h3 id =finding-the-used-value > < span class =secno > 9.3. </ span > Finding the
1840- < dfn id =used-value > used value</ dfn > </ h3 >
1841-
1842- < p > < i > Computed values</ i > are processed as far as possible without
1843- formatting the document. Some values, however, can only be determined when
1844- the document is being laid out. For example, if the width of an element is
1845- set to be a certain percentage of its containing block, the width cannot
1846- be determined until the width of the containing block has been determined.
1847- The < dfn id =used-value0 > used value</ dfn > is the result of taking the < a
1848- href ="#computed-value "> < i > computed value</ i > </ a > and resolving any
1849- remaining dependencies into an absolute value.
1850-
1851- < h3 id =actual > < span class =secno > 9.4. </ span > Finding the actual value</ h3 >
1852-
1853- < p > A < a href ="#used-value0 "> < i > used value</ i > </ a > is in principle ready to
1854- be used, but a user agent may not be able to make use of the value in a
1855- given environment. For example, a user agent may only be able to render
1856- borders with integer pixel widths and may therefore have to approximate
1857- the computed width. Also, the font size of an element may need adjustment
1858- based on the availability of fonts or the value of the ‘< code
1859- class =property > font-size-adjust</ code > ’ property. The < dfn
1860- id =actual-value > actual value</ dfn > is the used value after any such
1861- approximations have been made.
1862-
1863- < p class =note > By probing the actual values of elements, much can be
1864- learned about how the document is laid out. However, not all information
1865- is recorded in the actual values. For example, the actual value of the
1866- ‘< code class =property > page-break-after</ code > ’ property does
1867- not reflect whether there is a page break or not after the element.
1868- Similarly, the actual value of ‘< code
1869- class =property > orphans</ code > ’ does not reflect how many orphan
1870- lines there is in a certain element. See examples (j) and (k) in the < a
1871- href ="#stages-examples "> table below</ a > .
1872-
1873- < h3 id =stages-examples > < span class =secno > 9.5. </ span > Examples</ h3 >
1874-
1875- < table class =data >
1876- < thead >
1877- < tr >
1878- < th >
1879-
1880- < th > Property
1881-
1882- < th > Winning declaration <!-- <th>Cascaded value -->
1883-
1884- < th > Specified value
1885-
1886- < th > Computed value
1887-
1888- < th > Used value
1889-
1890- < th > Actual value
1891-
1892- < tbody >
1893- < tr >
1894- < td > (a)
1895-
1896- < th > ‘< code class =property > text-align</ code > ’
1897-
1898- < td > < code class =declaration > text-align: left</ code >
1899- <!-- <td>''left''-->
1900-
1901- < td > ‘< code class =css > left</ code > ’
1902-
1903- < td > ‘< code class =css > left</ code > ’
1904-
1905- < td > ‘< code class =css > left</ code > ’
1906-
1907- < td > ‘< code class =css > left</ code > ’
1908-
1909- < tr >
1910- < td > (b)
1911-
1912- < th > ‘< code class =property > border-top-width</ code > ’,
1913- ‘< code class =property > border-right-width</ code > ’,
1914- ‘< code class =property > border-bottom-width</ code > ’,
1915- ‘< code class =property > border-left-width</ code > ’
1916-
1917- < td > < code class =declaration > border-width: inherit</ code >
1918- <!-- <td>''inherit'' -->
1919-
1920- < td class =say > ‘< code class =css > 4.2px</ code > ’
1921-
1922- < td > ‘< code class =css > 4.2px</ code > ’
1923-
1924- < td > ‘< code class =css > 4.2px</ code > ’
1925-
1926- < td > ‘< code class =css > 4px</ code > ’
1927-
1928- < tr >
1929- < td > (c)
1930-
1931- < th > ‘< code class =property > width</ code > ’
1932-
1933- < td > < small > (none)</ small > <!-- <td><small>(none)</small>-->
1934-
1935- < td > ‘< code class =css > auto</ code > ’
1936- < small > (initial value)</ small >
1937-
1938- < td > ‘< code class =css > auto</ code > ’
1939-
1940- < td > ‘< code class =css > 120px</ code > ’
1941-
1942- < td > ‘< code class =css > 120px</ code > ’
1943-
1944- < tr >
1945- < td > (d)
1946-
1947- < th > ‘< code class =property > list-style-position</ code > ’
1948-
1949- < td > < code class =declaration > list-style-position: inherit</ code >
1950- <!-- <td>''inherit'' -->
1951-
1952- < td class =say > ‘< code class =css > inside</ code > ’
1953-
1954- < td > ‘< code class =css > inside</ code > ’
1955-
1956- < td > ‘< code class =css > inside</ code > ’
1957-
1958- < td > ‘< code class =css > inside</ code > ’
1959-
1960- < tr >
1961- < td > (e)
1962-
1963- < th > ‘< code class =property > list-style-position</ code > ’
1964-
1965- < td > < code class =declaration > list-style-position: initial</ code >
1966- <!-- <td>''initial''-->
1967-
1968- < td > ‘< code class =css > outside</ code > ’
1969- < small > (initial value)</ small >
1970-
1971- < td > ‘< code class =css > outside</ code > ’
1972-
1973- < td > ‘< code class =css > outside</ code > ’
1974-
1975- < td > ‘< code class =css > outside</ code > ’
1976-
1977- < tr >
1978- < td > (f)
1979-
1980- < th > ‘< code class =property > font-size</ code > ’
1981-
1982- < td > < code class =declaration > font-size: 1.2em</ code >
1983- <!-- <td>''1.2em''-->
1984-
1985- < td > ‘< code class =css > 1.2em</ code > ’
1986-
1987- < td class =say > ‘< code class =css > 14.1px</ code > ’
1988-
1989- < td > ‘< code class =css > 14.1px</ code > ’
1990-
1991- < td > ‘< code class =css > 14px</ code > ’
1992-
1993- < tr >
1994- < td > (g)
1995-
1996- < th > ‘< code class =property > width</ code > ’
1997-
1998- < td > < code class =declaration > width: 80%</ code > <!-- <td>''80%''-->
1999-
2000- < td > ‘< code class =css > 80%</ code > ’
2001-
2002- < td > ‘< code class =css > 80%</ code > ’
2003-
2004- < td class =say > ‘< code class =css > 354.2px</ code > ’
2005-
2006- < td > ‘< code class =css > 354px</ code > ’
2007-
2008- < tr >
2009- < td > (h)
2010-
2011- < th > ‘< code class =property > width</ code > ’
2012-
2013- < td > < code class =declaration > width: auto</ code > <!-- <td>''auto''-->
2014-
2015- < td > ‘< code class =css > auto</ code > ’
2016-
2017- < td > ‘< code class =css > auto</ code > ’
2018-
2019- < td class =say > ‘< code class =css > 134px</ code > ’
2020-
2021- < td > ‘< code class =css > 134px</ code > ’
2022-
2023- < tr >
2024- < td > (i)
2025-
2026- < th > ‘< code class =property > height</ code > ’
2027-
2028- < td > < code class =declaration > height: auto</ code > <!-- <td>''auto''-->
2029-
2030- < td > ‘< code class =css > auto</ code > ’
2031-
2032- < td > ‘< code class =css > auto</ code > ’
2033-
2034- < td class =say > ‘< code class =css > 176px</ code > ’
2035-
2036- < td > ‘< code class =css > 176px</ code > ’
2037-
2038- < tr >
2039- < td > (j)
2040-
2041- < th > ‘< code class =property > page-break-after</ code > ’
2042-
2043- < td > < small > (none)</ small > <!-- <td><small>(none)</small>-->
2044-
2045- < td > ‘< code class =css > auto</ code > ’
2046- < small > (initial value)</ small >
2047-
2048- < td > ‘< code class =css > auto</ code > ’
2049-
2050- < td > ‘< code class =css > auto</ code > ’
2051-
2052- < td > ‘< code class =css > auto</ code > ’
2053-
2054- < tr >
2055- < td > (k)
2056-
2057- < th > ‘< code class =property > orphans</ code > ’
2058-
2059- < td > < code class =declaration > orphans: 3</ code > <!-- <td>''3''-->
2060-
2061- < td > ‘< code class =css > 3</ code > ’
2062-
2063- < td > ‘< code class =css > 3</ code > ’
2064-
2065- < td > ‘< code class =css > 3</ code > ’
2066-
2067- < td > ‘< code class =css > 3</ code > ’
2068- </ table >
2069-
20701738 < h2 class =no-num id =acknowledgments > Acknowledgments</ h2 >
20711739
20721740 < p > Comments and suggestions from Giovanni Campagna, Christoph Päper,
@@ -2152,9 +1820,6 @@ <h2 class=no-num id=index>Index</h2>
21521820 < li > absolute length units, < a href ="#absolute-length-units "
21531821 title ="absolute length units "> < strong > 5.2.</ strong > </ a >
21541822
2155- < li > actual value, < a href ="#actual-value "
2156- title ="actual value "> < strong > 9.4.</ strong > </ a >
2157-
21581823 < li > <angle>, < a href ="#angle-value "
21591824 title ="<angle> "> < strong > 6.1.</ strong > </ a >
21601825
@@ -2168,9 +1833,6 @@ <h2 class=no-num id=index>Index</h2>
21681833 < li > < a href ="#color-value "> < code > <color></ code > </ a > , < a
21691834 href ="#color-value " title ="<color> "> < strong > 7.1.</ strong > </ a >
21701835
2171- < li > computed value, < a href ="#computed-value "
2172- title ="computed value "> < strong > 9.2.</ strong > </ a >
2173-
21741836 < li > cycle(), < a href ="#cycle-value "
21751837 title ="cycle() "> < strong > 8.2.</ strong > </ a >
21761838
@@ -2248,11 +1910,6 @@ <h2 class=no-num id=index>Index</h2>
22481910
22491911 < li > s, < a href ="#s " title =s > < strong > 6.2.</ strong > </ a >
22501912
2251- < li > specified value, < a href ="#specified-value "
2252- title ="specified value "> < strong > 9.1.</ strong > </ a > , < a
2253- href ="#specified-value0 "
2254- title ="specified value "> < strong > 9.1.</ strong > </ a >
2255-
22561913 < li > < a href ="#string-value "> < code > <string></ code > </ a > , < a
22571914 href ="#string-value " title ="<string> "> < strong > 3.3.</ strong > </ a >
22581915
@@ -2266,10 +1923,6 @@ <h2 class=no-num id=index>Index</h2>
22661923 < li > < a href ="#url-value "> < code > <url></ code > </ a > , < a
22671924 href ="#url-value " title ="<url> "> < strong > 3.4.</ strong > </ a >
22681925
2269- < li > used value, < a href ="#used-value "
2270- title ="used value "> < strong > 9.3.</ strong > </ a > , < a href ="#used-value0 "
2271- title ="used value "> < strong > 9.3.</ strong > </ a >
2272-
22731926 < li > vh, < a href ="#vh-unit " title =vh > < strong > 5.1.2.</ strong > </ a >
22741927
22751928 < li > vmin, < a href ="#vmin-unit " title =vmin > < strong > 5.1.2.</ strong > </ a >
0 commit comments