1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<HEAD>
<TITLE>Changes</TITLE>
<link rel="stylesheet" href="style/default.css" type="text/css">
<link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-CR.css" type="text/css">
<link rel="prev" href="refs.html">
<link rel="next" href="sample.html">
<link rel="contents" href="cover.html#minitoc">
<link rel="CSS-properties" href="propidx.html" title="properties">
<link rel="index" href="indexlist.html" title="index">
<link rel="first" href="cover.html">
</HEAD>
<BODY>
<div class="navbar">
<p><a href="refs.html">previous</a>
<a href="sample.html">next</a>
<a href="cover.html#minitoc">contents</a>
<a href="propidx.html">properties</a>
<a href="indexlist.html">index</a>
</div>
<hr class="navbar">
<H1><a name="q0">Appendix C. Changes</a></H1>
<div class="subtoc">
<p><strong>Contents</strong>
<ul class="toc">
<li class="tocline2"><a href="changes.html#new" class="tocxref">C.1 Additional property values</a>
<ul class="toc">
<li class="tocline3"><a href="changes.html#q2" class="tocxref">C.1.1 Section 4.3.6 Colors</a>
<li class="tocline3"><a href="changes.html#q3" class="tocxref">C.1.2 Section 9.2.4 The 'display' property</a>
<li class="tocline3"><a href="changes.html#q4" class="tocxref">C.1.3 Section 12.2 The 'content' property</a>
<li class="tocline3"><a href="changes.html#q5" class="tocxref">C.1.4 Section 16.6 White space: the 'white-space' property</a>
<li class="tocline3"><a href="changes.html#q6" class="tocxref">C.1.5 Section 18.1 Cursors: the 'cursor' property</a>
</ul>
<li class="tocline2"><a href="changes.html#changes" class="tocxref">C.2 Changes</a>
<ul class="toc">
<li class="tocline3"><a href="changes.html#q8" class="tocxref">C.2.1 Section 1.1 CSS 2.1 vs CSS 2</a>
<li class="tocline3"><a href="changes.html#q9" class="tocxref">C.2.2 Section 1.2 Reading the specification</a>
<li class="tocline3"><a href="changes.html#q10" class="tocxref">C.2.3 Section 1.3 How the specification is organized</a>
<li class="tocline3"><a href="changes.html#q11" class="tocxref">C.2.4 Section 1.4.2.1 Value</a>
<li class="tocline3"><a href="changes.html#q12" class="tocxref">C.2.5 Section 1.4.2.6 Media groups</a>
<li class="tocline3"><a href="changes.html#q13" class="tocxref">C.2.6 Section 1.4.2.7 Computed value</a>
<li class="tocline3"><a href="changes.html#q14" class="tocxref">C.2.7 Section 1.4.4 Notes and examples</a>
<li class="tocline3"><a href="changes.html#q15" class="tocxref">C.2.8 Section 1.5 Acknowledgements</a>
<li class="tocline3"><a href="changes.html#q16" class="tocxref">C.2.9 Section 3.2 Conformance</a>
<li class="tocline3"><a href="changes.html#q17" class="tocxref">C.2.10 Section 3.3 Error Conditions</a>
<li class="tocline3"><a href="changes.html#q18" class="tocxref">C.2.11 Section 4.1.1 Tokenization</a>
<li class="tocline3"><a href="changes.html#q19" class="tocxref">C.2.12 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q20" class="tocxref">C.2.13 Section 4.2 Rules for handling parsing errors</a>
<li class="tocline3"><a href="changes.html#q21" class="tocxref">C.2.14 Section 4.3 Values</a>
<li class="tocline3"><a href="changes.html#q22" class="tocxref">C.2.15 Section 4.3.2 Lengths</a>
<li class="tocline3"><a href="changes.html#q23" class="tocxref">C.2.16 Section 4.3.4 URLs and URIs</a>
<li class="tocline3"><a href="changes.html#q24" class="tocxref">C.2.17 Section 4.3.5 Counters</a>
<li class="tocline3"><a href="changes.html#q25" class="tocxref">C.2.18 Section 4.3.6 Colors</a>
<li class="tocline3"><a href="changes.html#q26" class="tocxref">C.2.19 Section 4.3.8 Unsupported Values</a>
<li class="tocline3"><a href="changes.html#q27" class="tocxref">C.2.20 Section 4.4 CSS style sheet representation</a>
<li class="tocline3"><a href="changes.html#q28" class="tocxref">C.2.21 Section 5.8.1 Matching attributes and attribute values</a>
<li class="tocline3"><a href="changes.html#q29" class="tocxref">C.2.22 Section 5.8.3 Class selectors</a>
<li class="tocline3"><a href="changes.html#q30" class="tocxref">C.2.23 Section 5.9 ID selectors</a>
<li class="tocline3"><a href="changes.html#q31" class="tocxref">C.2.24 Section 5.10 Pseudo-elements and pseudo-classes</a>
<li class="tocline3"><a href="changes.html#q32" class="tocxref">C.2.25 Section 5.11.2 The link pseudo-classes: :link and :visited</a>
<li class="tocline3"><a href="changes.html#q33" class="tocxref">C.2.26 Section 5.11.4 The language pseudo-class: :lang</a>
<li class="tocline3"><a href="changes.html#q34" class="tocxref">C.2.27 Section 5.12.1 The :first-line pseudo-element</a>
<li class="tocline3"><a href="changes.html#q35" class="tocxref">C.2.28 Section 5.12.2 The :first-letter pseudo-element</a>
<li class="tocline3"><a href="changes.html#q36" class="tocxref">C.2.29 Section 6.1 Specified, computed, and actual values</a>
<li class="tocline3"><a href="changes.html#q37" class="tocxref">C.2.30 Section 6.4.1 Cascading order</a>
<li class="tocline3"><a href="changes.html#q38" class="tocxref">C.2.31 Section 6.4.3 Calculating a selector's specificity</a>
<li class="tocline3"><a href="changes.html#q39" class="tocxref">C.2.32 Section 6.4.4 Precedence of non-CSS presentational hints</a>
<li class="tocline3"><a href="changes.html#q40" class="tocxref">C.2.33 Section 7.3 Recognized Media Types</a>
<li class="tocline3"><a href="changes.html#q41" class="tocxref">C.2.34 Section 7.3.1 Media Groups</a>
<li class="tocline3"><a href="changes.html#q42" class="tocxref">C.2.35 Section 8.3 Margin properties</a>
<li class="tocline3"><a href="changes.html#q43" class="tocxref">C.2.36 Section 8.3.1 Collapsing margins</a>
<li class="tocline3"><a href="changes.html#q44" class="tocxref">C.2.37 Section 8.4 Padding properties</a>
<li class="tocline3"><a href="changes.html#q45" class="tocxref">C.2.38 Section 8.5.2 Border color</a>
<li class="tocline3"><a href="changes.html#q46" class="tocxref">C.2.39 Section 8.5.3 Border style</a>
<li class="tocline3"><a href="changes.html#q47" class="tocxref">C.2.40 Section 8.6 The box model for inline elements in bidirection context</a>
<li class="tocline3"><a href="changes.html#q48" class="tocxref">C.2.41 Section 9.1.2 Containing blocks</a>
<li class="tocline3"><a href="changes.html#q49" class="tocxref">C.2.42 Section 9.2.1.1 Anonymous block boxes</a>
<li class="tocline3"><a href="changes.html#q50" class="tocxref">C.2.43 Section 9.2.2.1 Anonymous inline boxes</a>
<li class="tocline3"><a href="changes.html#q51" class="tocxref">C.2.44 Section 9.2.3 Run-in boxes</a>
<li class="tocline3"><a href="changes.html#q52" class="tocxref">C.2.45 Section 9.2.4 The 'display' property</a>
<li class="tocline3"><a href="changes.html#q53" class="tocxref">C.2.46 Section 9.3.1 Choosing a positioning scheme</a>
<li class="tocline3"><a href="changes.html#q54" class="tocxref">C.2.47 Section 9.3.2 Box offsets</a>
<li class="tocline3"><a href="changes.html#q55" class="tocxref">C.2.48 Section 9.4.1 Block formatting contexts</a>
<li class="tocline3"><a href="changes.html#q56" class="tocxref">C.2.49 Section 9.4.2 Inline formatting context</a>
<li class="tocline3"><a href="changes.html#q57" class="tocxref">C.2.50 Section 9.4.3 Relative positioning</a>
<li class="tocline3"><a href="changes.html#q58" class="tocxref">C.2.51 Section 9.5 Floats</a>
<li class="tocline3"><a href="changes.html#q59" class="tocxref">C.2.52 Section 9.5.1 Positioning the float</a>
<li class="tocline3"><a href="changes.html#q60" class="tocxref">C.2.53 Section 9.5.2 Controlling flow next to floats</a>
<li class="tocline3"><a href="changes.html#q61" class="tocxref">C.2.54 Section 9.7 Relationships between 'display', 'position', and 'float'</a>
<li class="tocline3"><a href="changes.html#q62" class="tocxref">C.2.55 Section 9.9 Layered presentation</a>
<li class="tocline3"><a href="changes.html#q63" class="tocxref">C.2.56 Section 9.10 Text direction</a>
<li class="tocline3"><a href="changes.html#q64" class="tocxref">C.2.57 Chapter 10 Visual formatting model details</a>
<li class="tocline3"><a href="changes.html#q65" class="tocxref">C.2.58 Section 10.1 Definition of "containing block"</a>
<li class="tocline3"><a href="changes.html#q66" class="tocxref">C.2.59 Section 10.2 Content width</a>
<li class="tocline3"><a href="changes.html#q67" class="tocxref">C.2.60 Section 10.3 Calculating widths and margins</a>
<li class="tocline3"><a href="changes.html#q68" class="tocxref">C.2.61 Section 10.3.2 Inline, replaced elements</a>
<li class="tocline3"><a href="changes.html#q69" class="tocxref">C.2.62 Section 10.3.3 Block-level, non-replaced elements in normal flow</a>
<li class="tocline3"><a href="changes.html#q70" class="tocxref">C.2.63 Section 10.3.4 Block-level, replaced elements in normal flow</a>
<li class="tocline3"><a href="changes.html#q71" class="tocxref">C.2.64 Section 10.3.5 Floating, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q72" class="tocxref">C.2.65 Section 10.3.6 Floating, replaced elements</a>
<li class="tocline3"><a href="changes.html#q73" class="tocxref">C.2.66 Section 10.3.7 Absolutely positioned, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q74" class="tocxref">C.2.67 Section 10.3.8 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q75" class="tocxref">C.2.68 Section 10.4 Minimum and maximum widths</a>
<li class="tocline3"><a href="changes.html#q76" class="tocxref">C.2.69 Section 10.5 Content height</a>
<li class="tocline3"><a href="changes.html#q77" class="tocxref">C.2.70 Section 10.6 Calculating heights and margins</a>
<li class="tocline3"><a href="changes.html#q78" class="tocxref">C.2.71 Section 10.6.1 Inline, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q79" class="tocxref">C.2.72 Section 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements</a>
<li class="tocline3"><a href="changes.html#q80" class="tocxref">C.2.73 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a>
<li class="tocline3"><a href="changes.html#q81" class="tocxref">C.2.74 Section 10.6.4 Absolutely positioned, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q82" class="tocxref">C.2.75 Section 10.6.5 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q83" class="tocxref">C.2.76 Section 10.7 Minimum and maximum heights</a>
<li class="tocline3"><a href="changes.html#q84" class="tocxref">C.2.77 Section 10.8 Line height calculations</a>
<li class="tocline3"><a href="changes.html#q85" class="tocxref">C.2.78 Section 10.8.1 Leading and half-leading</a>
<li class="tocline3"><a href="changes.html#q86" class="tocxref">C.2.79 Section 11.1 Overflow and clipping</a>
<li class="tocline3"><a href="changes.html#q87" class="tocxref">C.2.80 Section 11.1.1 Overflow</a>
<li class="tocline3"><a href="changes.html#q88" class="tocxref">C.2.81 Section 11.1.2 Clipping: the 'clip' property</a>
<li class="tocline3"><a href="changes.html#q89" class="tocxref">C.2.82 Section 11.2 Visibility</a>
<li class="tocline3"><a href="changes.html#q90" class="tocxref">C.2.83 Chapter 12 Generated content, automatic numbering, and lists</a>
<li class="tocline3"><a href="changes.html#q91" class="tocxref">C.2.84 Section 12.1 The :before and :after pseudo-elements</a>
<li class="tocline3"><a href="changes.html#q92" class="tocxref">C.2.85 Section 12.2 The 'content' property</a>
<li class="tocline3"><a href="changes.html#q93" class="tocxref">C.2.86 Section 12.3.2 Inserting quotes with the 'content' property</a>
<li class="tocline3"><a href="changes.html#q94" class="tocxref">C.2.87 Section 12.4 Automatic counters and numbering</a>
<li class="tocline3"><a href="changes.html#q95" class="tocxref">C.2.88 Section 12.4.1 Nested counters and scope</a>
<li class="tocline3"><a href="changes.html#q96" class="tocxref">C.2.89 Section 12.5 Lists</a>
<li class="tocline3"><a href="changes.html#q97" class="tocxref">C.2.90 Section 12.5.1 Lists</a>
<li class="tocline3"><a href="changes.html#q98" class="tocxref">C.2.91 Chapter 13 Paged media</a>
<li class="tocline3"><a href="changes.html#q99" class="tocxref">C.2.92 Section 13.2.2 Page selectors</a>
<li class="tocline3"><a href="changes.html#q100" class="tocxref">C.2.93 Section 13.3.1 Page break properties</a>
<li class="tocline3"><a href="changes.html#q101" class="tocxref">C.2.94 Section 13.3.3 Allowed page breaks</a>
<li class="tocline3"><a href="changes.html#q102" class="tocxref">C.2.95 Section 14.2.1 Background properties</a>
<li class="tocline3"><a href="changes.html#q103" class="tocxref">C.2.96 Section 14.3 Gamma correction</a>
<li class="tocline3"><a href="changes.html#q104" class="tocxref">C.2.97 Chapter 15 Fonts</a>
<li class="tocline3"><a href="changes.html#q105" class="tocxref">C.2.98 Section 15.2 Font matching algorithm</a>
<li class="tocline3"><a href="changes.html#q106" class="tocxref">C.2.99 Section 15.2.2 Font family</a>
<li class="tocline3"><a href="changes.html#q107" class="tocxref">C.2.100 Section 15.5 Small-caps</a>
<li class="tocline3"><a href="changes.html#q108" class="tocxref">C.2.101 Section 15.6 Font boldness</a>
<li class="tocline3"><a href="changes.html#q109" class="tocxref">C.2.102 Section 15.7 Font size</a>
<li class="tocline3"><a href="changes.html#q110" class="tocxref">C.2.103 Chapter 16 Text</a>
<li class="tocline3"><a href="changes.html#q111" class="tocxref">C.2.104 Section 16.2 Alignment</a>
<li class="tocline3"><a href="changes.html#q112" class="tocxref">C.2.105 Section 16.3.1 Underlining, over lining, striking, and blinking</a>
<li class="tocline3"><a href="changes.html#q113" class="tocxref">C.2.106 Section 16.4 Letter and word spacing</a>
<li class="tocline3"><a href="changes.html#q114" class="tocxref">C.2.107 Section 16.5 Capitalization</a>
<li class="tocline3"><a href="changes.html#q115" class="tocxref">C.2.108 Section 16.6 White space</a>
<li class="tocline3"><a href="changes.html#q116" class="tocxref">C.2.109 Chapter 17 Tables</a>
<li class="tocline3"><a href="changes.html#q117" class="tocxref">C.2.110 Section 17.2 The CSS table model</a>
<li class="tocline3"><a href="changes.html#q118" class="tocxref">C.2.111 Section 17.2.1 Anonymous table objects</a>
<li class="tocline3"><a href="changes.html#q119" class="tocxref">C.2.112 Section 17.4 Tables in the visual formatting model</a>
<li class="tocline3"><a href="changes.html#q120" class="tocxref">C.2.113 Section 17.4.1 Caption position and alignment</a>
<li class="tocline3"><a href="changes.html#q121" class="tocxref">C.2.114 Section 17.5 Visual layout of table contents</a>
<li class="tocline3"><a href="changes.html#q122" class="tocxref">C.2.115 Section 17.5.1 Table layers and transparency</a>
<li class="tocline3"><a href="changes.html#q123" class="tocxref">C.2.116 Section 17.5.2.1 Fixed table layout</a>
<li class="tocline3"><a href="changes.html#q124" class="tocxref">C.2.117 Section 17.5.2.2 Automatic table layout</a>
<li class="tocline3"><a href="changes.html#q125" class="tocxref">C.2.118 Section 17.5.3 Table height algorithms</a>
<li class="tocline3"><a href="changes.html#q126" class="tocxref">C.2.119 Section 17.5.4 Horizontal alignment in a column</a>
<li class="tocline3"><a href="changes.html#q127" class="tocxref">C.2.120 Section 17.6 Borders</a>
<li class="tocline3"><a href="changes.html#q128" class="tocxref">C.2.121 Section 17.6.1 The separated borders model</a>
<li class="tocline3"><a href="changes.html#q129" class="tocxref">C.2.122 Section 17.6.1.1 Borders and Backgrounds around empty cells</a>
<li class="tocline3"><a href="changes.html#q130" class="tocxref">C.2.123 Section 17.6.2 The collapsing border model</a>
<li class="tocline3"><a href="changes.html#q131" class="tocxref">C.2.124 Section 17.6.2.1 Border conflict resolution</a>
<li class="tocline3"><a href="changes.html#q132" class="tocxref">C.2.125 Section 18.1 Cursors: the 'cursor' property</a>
<li class="tocline3"><a href="changes.html#q133" class="tocxref">C.2.126 Section 18.4 Dynamic outlines</a>
<li class="tocline3"><a href="changes.html#q134" class="tocxref">C.2.127 Chapter 12 Generated content, automatic numbering, and lists</a>
<li class="tocline3"><a href="changes.html#q135" class="tocxref">C.2.128 Appendix A. Aural style sheets</a>
<li class="tocline3"><a href="changes.html#q136" class="tocxref">C.2.129 Appendix A Section 5 Pause properties</a>
<li class="tocline3"><a href="changes.html#q137" class="tocxref">C.2.130 Appendix A Section 6 Cue properties</a>
<li class="tocline3"><a href="changes.html#q138" class="tocxref">C.2.131 Appendix A Section 7 Mixing properties</a>
<li class="tocline3"><a href="changes.html#q139" class="tocxref">C.2.132 Appendix B Bibliography</a>
<li class="tocline3"><a href="changes.html#q140" class="tocxref">C.2.133 Other</a>
</ul>
<li class="tocline2"><a href="changes.html#known-errors" class="tocxref">C.3 Errors</a>
<ul class="toc">
<li class="tocline3"><a href="changes.html#q142" class="tocxref">C.3.1 Shorthand properties</a>
<li class="tocline3"><a href="changes.html#q143" class="tocxref">C.3.2 Applies to</a>
<li class="tocline3"><a href="changes.html#q144" class="tocxref">C.3.3 Section 4.1.1 (and G2)</a>
<li class="tocline3"><a href="changes.html#q145" class="tocxref">C.3.4 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q146" class="tocxref">C.3.5 Section 4.3 (Double sign problem)</a>
<li class="tocline3"><a href="changes.html#q147" class="tocxref">C.3.6 Section 4.3.2 Lengths</a>
<li class="tocline3"><a href="changes.html#q148" class="tocxref">C.3.7 Section 4.3.3 Percentages</a>
<li class="tocline3"><a href="changes.html#q149" class="tocxref">C.3.8 Section 4.3.4 URLs and URIs</a>
<li class="tocline3"><a href="changes.html#q150" class="tocxref">C.3.9 Section 4.3.5 Counters</a>
<li class="tocline3"><a href="changes.html#q151" class="tocxref">C.3.10 Section 4.3.6 Colors</a>
<li class="tocline3"><a href="changes.html#q152" class="tocxref">C.3.11 Section 4.3.7 Strings</a>
<li class="tocline3"><a href="changes.html#q153" class="tocxref">C.3.12 Section 5.10 Pseudo-elements and pseudo-classes</a>
<li class="tocline3"><a href="changes.html#q154" class="tocxref">C.3.13 Section 6.4 The cascade</a>
<li class="tocline3"><a href="changes.html#q155" class="tocxref">C.3.14 Section 8.1 Box Dimensions</a>
<li class="tocline3"><a href="changes.html#q156" class="tocxref">C.3.15 Section 8.2 Example of margins, padding, and borders</a>
<li class="tocline3"><a href="changes.html#q157" class="tocxref">C.3.16 Section 8.5.4 Border shorthand properties</a>
<li class="tocline3"><a href="changes.html#q158" class="tocxref">C.3.17 Section 9.2.1 Block-level elements and block boxes</a>
<li class="tocline3"><a href="changes.html#q159" class="tocxref">C.3.18 Section 9.3.1 Choosing a positioning scheme</a>
<li class="tocline3"><a href="changes.html#q160" class="tocxref">C.3.19 Section 9.3.2 Box offsets</a>
<li class="tocline3"><a href="changes.html#q161" class="tocxref">C.3.20 Section 9.4.1 Block formatting contexts</a>
<li class="tocline3"><a href="changes.html#q162" class="tocxref">C.3.21 Section 9.4.2 Inline formatting context</a>
<li class="tocline3"><a href="changes.html#q163" class="tocxref">C.3.22 Section 9.4.3 Relative positioning</a>
<li class="tocline3"><a href="changes.html#q164" class="tocxref">C.3.23 Section 9.5 Floats</a>
<li class="tocline3"><a href="changes.html#q165" class="tocxref">C.3.24 Section 9.5.1 Positioning the float</a>
<li class="tocline3"><a href="changes.html#q166" class="tocxref">C.3.25 Section 9.5.2 Controlling flow next to floats</a>
<li class="tocline3"><a href="changes.html#q167" class="tocxref">C.3.26 Section 9.6 Absolute positioning</a>
<li class="tocline3"><a href="changes.html#q168" class="tocxref">C.3.27 Section 9.7 Relationships between 'display', 'position', and 'float'</a>
<li class="tocline3"><a href="changes.html#q169" class="tocxref">C.3.28 Section 9.10 Text direction</a>
<li class="tocline3"><a href="changes.html#q170" class="tocxref">C.3.29 Section 10.1 Definition of "containing block"</a>
<li class="tocline3"><a href="changes.html#q171" class="tocxref">C.3.30 Section 10.3.3 Block-level, non-replaced elements in normal flow</a>
<li class="tocline3"><a href="changes.html#q172" class="tocxref">C.3.31 Section 10.4 Minimum and maximum widths</a>
<li class="tocline3"><a href="changes.html#q173" class="tocxref">C.3.32 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a>
<li class="tocline3"><a href="changes.html#q174" class="tocxref">C.3.33 Section 10.7 Minimum and maximum heights</a>
<li class="tocline3"><a href="changes.html#q175" class="tocxref">C.3.34 Section 11.1.1 Overflow</a>
<li class="tocline3"><a href="changes.html#q176" class="tocxref">C.3.35 Section 11.1.2 Clipping: the 'clip' property</a>
<li class="tocline3"><a href="changes.html#q177" class="tocxref">C.3.36 Section 11.2 Visibility</a>
<li class="tocline3"><a href="changes.html#q178" class="tocxref">C.3.37 Section 12.4.2 Counter styles</a>
<li class="tocline3"><a href="changes.html#q179" class="tocxref">C.3.38 Section 12.6.2 Lists</a>
<li class="tocline3"><a href="changes.html#q180" class="tocxref">C.3.39 Section 14.2 The background</a>
<li class="tocline3"><a href="changes.html#q181" class="tocxref">C.3.40 Section 14.2.1 Background properties</a>
<li class="tocline3"><a href="changes.html#q182" class="tocxref">C.3.41 Section 15.2 Font matching algorithm</a>
<li class="tocline3"><a href="changes.html#q183" class="tocxref">C.3.42 Section 15.7 Font size</a>
<li class="tocline3"><a href="changes.html#q184" class="tocxref">C.3.43 Section 16.1 Indentation</a>
<li class="tocline3"><a href="changes.html#q185" class="tocxref">C.3.44 Section 16.2 Alignment</a>
<li class="tocline3"><a href="changes.html#q186" class="tocxref">C.3.45 Section 17.2 The CSS table model</a>
<li class="tocline3"><a href="changes.html#q187" class="tocxref">C.3.46 Section 17.2.1 Anonymous table objects </a>
<li class="tocline3"><a href="changes.html#q188" class="tocxref">C.3.47 Section 17.4 Tables in the visual formatting model</a>
<li class="tocline3"><a href="changes.html#q189" class="tocxref">C.3.48 Section 17.5 Visual layout of table contents</a>
<li class="tocline3"><a href="changes.html#q190" class="tocxref">C.3.49 Section 17.5.1 Table layers and transparency</a>
<li class="tocline3"><a href="changes.html#q191" class="tocxref">C.3.50 Section 17.6.1 The separated borders model</a>
<li class="tocline3"><a href="changes.html#q192" class="tocxref">C.3.51 Section 18.2 System Colors</a>
<li class="tocline3"><a href="changes.html#q193" class="tocxref">C.3.52 Section E.2 Painting order</a>
</ul>
<li class="tocline2"><a href="changes.html#clarifications" class="tocxref">C.4 Clarifications</a>
<ul class="toc">
<li class="tocline3"><a href="changes.html#q195" class="tocxref">C.4.1 Section 2.1 A brief CSS 2.1 tutorial for HTML</a>
<li class="tocline3"><a href="changes.html#q196" class="tocxref">C.4.2 Section 2.2 A brief CSS 2.1 tutorial for XML</a>
<li class="tocline3"><a href="changes.html#q197" class="tocxref">C.4.3 Section 2.3 The CSS 2.1 processing model</a>
<li class="tocline3"><a href="changes.html#q198" class="tocxref">C.4.4 Section 3.1 Definitions</a>
<li class="tocline3"><a href="changes.html#q199" class="tocxref">C.4.5 Section 4.1 Syntax</a>
<li class="tocline3"><a href="changes.html#q200" class="tocxref">C.4.6 Section 4.1.1 Tokenization</a>
<li class="tocline3"><a href="changes.html#q201" class="tocxref">C.4.7 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q202" class="tocxref">C.4.8 Section 4.1.7 Rule sets, declaration blocks, and selectors</a>
<li class="tocline3"><a href="changes.html#q203" class="tocxref">C.4.9 Section 4.2 Rules for handling parsing errors</a>
<li class="tocline3"><a href="changes.html#q204" class="tocxref">C.4.10 Section 4.3.1 Integers and real numbers</a>
<li class="tocline3"><a href="changes.html#q205" class="tocxref">C.4.11 Section 4.3.2 Lengths</a>
<li class="tocline3"><a href="changes.html#q206" class="tocxref">C.4.12 Section 4.3.4 URLs and URIs</a>
<li class="tocline3"><a href="changes.html#q207" class="tocxref">C.4.13 Section 5.1 Pattern matching</a>
<li class="tocline3"><a href="changes.html#q208" class="tocxref">C.4.14 Section 5.7 Adjacent sibling selectors</a>
<li class="tocline3"><a href="changes.html#q209" class="tocxref">C.4.15 Section 5.8.1 Matching attributes and attribute values</a>
<li class="tocline3"><a href="changes.html#q210" class="tocxref">C.4.16 Section 5.8.2 Default attribute values in DTDs</a>
<li class="tocline3"><a href="changes.html#q211" class="tocxref">C.4.17 Section 5.9 ID selectors</a>
<li class="tocline3"><a href="changes.html#q212" class="tocxref">C.4.18 Section 5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus</a>
<li class="tocline3"><a href="changes.html#q213" class="tocxref">C.4.19 Section 5.11.4 The language pseudo-class: :lang</a>
<li class="tocline3"><a href="changes.html#q214" class="tocxref">C.4.20 Section 5.12.2 The :first-letter pseudo-element</a>
<li class="tocline3"><a href="changes.html#q215" class="tocxref">C.4.21 Section 6.2 Inheritance</a>
<li class="tocline3"><a href="changes.html#q216" class="tocxref">C.4.22 Section 6.2.1 The 'inherit' value</a>
<li class="tocline3"><a href="changes.html#q217" class="tocxref">C.4.23 Section 6.3 The @import rule</a>
<li class="tocline3"><a href="changes.html#q218" class="tocxref">C.4.24 Section 6.4 The Cascade</a>
<li class="tocline3"><a href="changes.html#q219" class="tocxref">C.4.25 Section 6.4.1 Cascading order</a>
<li class="tocline3"><a href="changes.html#q220" class="tocxref">C.4.26 Section 6.4.3 Calculating a selector's specificity</a>
<li class="tocline3"><a href="changes.html#q221" class="tocxref">C.4.27 Section 7.2.1 The @media rule</a>
<li class="tocline3"><a href="changes.html#q222" class="tocxref">C.4.28 Section 7.3 Recognized media types</a>
<li class="tocline3"><a href="changes.html#q223" class="tocxref">C.4.29 Section 7.3.1 Media groups</a>
<li class="tocline3"><a href="changes.html#q224" class="tocxref">C.4.30 Section 8.1 Box dimensions</a>
<li class="tocline3"><a href="changes.html#q225" class="tocxref">C.4.31 Section 8.3 Margin properties</a>
<li class="tocline3"><a href="changes.html#q226" class="tocxref">C.4.32 Section 8.3.1 Collapsing margins</a>
<li class="tocline3"><a href="changes.html#q227" class="tocxref">C.4.33 Section 8.5.3 Border style</a>
<li class="tocline3"><a href="changes.html#q228" class="tocxref">C.4.34 Section 9.1.1 The viewport</a>
<li class="tocline3"><a href="changes.html#q229" class="tocxref">C.4.35 Section 9.2.4 The 'display' property</a>
<li class="tocline3"><a href="changes.html#q230" class="tocxref">C.4.36 Section 9.3.1 Choosing a positioning scheme</a>
<li class="tocline3"><a href="changes.html#q231" class="tocxref">C.4.37 Section 9.3.2 Box offsets</a>
<li class="tocline3"><a href="changes.html#q232" class="tocxref">C.4.38 Section 9.4.2 Inline formatting context</a>
<li class="tocline3"><a href="changes.html#q233" class="tocxref">C.4.39 Section 9.4.3 Relative positioning</a>
<li class="tocline3"><a href="changes.html#q234" class="tocxref">C.4.40 Section 9.5 Floats</a>
<li class="tocline3"><a href="changes.html#q235" class="tocxref">C.4.41 Section 9.5.1 Positioning the float</a>
<li class="tocline3"><a href="changes.html#q236" class="tocxref">C.4.42 Section 9.5.2 Controlling flow next to floats</a>
<li class="tocline3"><a href="changes.html#q237" class="tocxref">C.4.43 Section 9.8 Comparison of normal flow, floats, and absolute positioning</a>
<li class="tocline3"><a href="changes.html#q238" class="tocxref">C.4.44 Section 10.1 Definition of "containing block"</a>
<li class="tocline3"><a href="changes.html#q239" class="tocxref">C.4.45 Section 10.2 Content width</a>
<li class="tocline3"><a href="changes.html#q240" class="tocxref">C.4.46 Section 10.3.3 Block-level, non-replaced elements in normal flow</a>
<li class="tocline3"><a href="changes.html#q241" class="tocxref">C.4.47 Section 10.3.8 Absolutely positioning, replaced elements</a>
<li class="tocline3"><a href="changes.html#q242" class="tocxref">C.4.48 Section 10.4 Minimum and maximum widths</a>
<li class="tocline3"><a href="changes.html#q243" class="tocxref">C.4.49 Section 10.6 Calculating heights and margins</a>
<li class="tocline3"><a href="changes.html#q244" class="tocxref">C.4.50 Section 10.7 Minimum and maximum heights</a>
<li class="tocline3"><a href="changes.html#q245" class="tocxref">C.4.51 Section 10.8 Line height calculations</a>
<li class="tocline3"><a href="changes.html#q246" class="tocxref">C.4.52 Section 10.8.1 Leading and half-leading</a>
<li class="tocline3"><a href="changes.html#q247" class="tocxref">C.4.53 Section 11.1 Overflow and clipping</a>
<li class="tocline3"><a href="changes.html#q248" class="tocxref">C.4.54 Section 11.1.1 Overflow</a>
<li class="tocline3"><a href="changes.html#q249" class="tocxref">C.4.55 Section 11.1.2 Clipping</a>
<li class="tocline3"><a href="changes.html#q250" class="tocxref">C.4.56 Section 11.2 Visibility</a>
<li class="tocline3"><a href="changes.html#q251" class="tocxref">C.4.57 Section 12.1 The :before and :after pseudo-elements</a>
<li class="tocline3"><a href="changes.html#q252" class="tocxref">C.4.58 Section 12.2 The 'content' property</a>
<li class="tocline3"><a href="changes.html#q253" class="tocxref">C.4.59 Section 12.3.2 Inserting quotes with the 'content' property</a>
<li class="tocline3"><a href="changes.html#q254" class="tocxref">C.4.60 Section 12.4 Automatic counters and numbering</a>
<li class="tocline3"><a href="changes.html#q255" class="tocxref">C.4.61 Section 12.4.3 Counters in elements with 'display: none'</a>
<li class="tocline3"><a href="changes.html#q256" class="tocxref">C.4.62 Section 14.2 The background</a>
<li class="tocline3"><a href="changes.html#q257" class="tocxref">C.4.63 Section 15.1 Fonts Introduction</a>
<li class="tocline3"><a href="changes.html#q258" class="tocxref">C.4.64 Section 15.2 Font matching algorithm</a>
<li class="tocline3"><a href="changes.html#q259" class="tocxref">C.4.65 Section 15.2.2 Font family</a>
<li class="tocline3"><a href="changes.html#q260" class="tocxref">C.4.66 Section 15.3.1 Generic font families</a>
<li class="tocline3"><a href="changes.html#q261" class="tocxref">C.4.67 Section 15.4 Font styling</a>
<li class="tocline3"><a href="changes.html#q262" class="tocxref">C.4.68 Section 15.5 Small-caps</a>
<li class="tocline3"><a href="changes.html#q263" class="tocxref">C.4.69 Section 15.6 Font boldness</a>
<li class="tocline3"><a href="changes.html#q264" class="tocxref">C.4.70 Section 15.7 Font size</a>
<li class="tocline3"><a href="changes.html#q265" class="tocxref">C.4.71 Section 16.1 Indentation</a>
<li class="tocline3"><a href="changes.html#q266" class="tocxref">C.4.72 Section 16.2 Alignment</a>
<li class="tocline3"><a href="changes.html#q267" class="tocxref">C.4.73 Section 16.3.1 Underlining, over lining, striking, and blinking</a>
<li class="tocline3"><a href="changes.html#q268" class="tocxref">C.4.74 Section 16.5 Capitalization</a>
<li class="tocline3"><a href="changes.html#q269" class="tocxref">C.4.75 Section 16.6 White space</a>
<li class="tocline3"><a href="changes.html#q270" class="tocxref">C.4.76 Section 17.1 Introduction to tables</a>
<li class="tocline3"><a href="changes.html#q271" class="tocxref">C.4.77 Section 17.2 The CSS table model</a>
<li class="tocline3"><a href="changes.html#q272" class="tocxref">C.4.78 Section 17.2.1 Anonymous table objects</a>
<li class="tocline3"><a href="changes.html#q273" class="tocxref">C.4.79 Section 17.4 Tables in the visual formatting model</a>
<li class="tocline3"><a href="changes.html#q274" class="tocxref">C.4.80 Section 17.5 Visual layout of table contents</a>
<li class="tocline3"><a href="changes.html#q275" class="tocxref">C.4.81 Section 17.5.1 Table layers and transparency</a>
<li class="tocline3"><a href="changes.html#q276" class="tocxref">C.4.82 Section 17.5.2 Table width algorithms</a>
<li class="tocline3"><a href="changes.html#q277" class="tocxref">C.4.83 Section 17.5.2.1 Fixed table layout</a>
<li class="tocline3"><a href="changes.html#q278" class="tocxref">C.4.84 Section 17.5.2.2 Automatic table layout</a>
<li class="tocline3"><a href="changes.html#q279" class="tocxref">C.4.85 Section 17.5.4 Horizontal alignment in a column</a>
<li class="tocline3"><a href="changes.html#q280" class="tocxref">C.4.86 Section 17.5.5 Dynamic row and column effects</a>
<li class="tocline3"><a href="changes.html#q281" class="tocxref">C.4.87 Section 17.6.1 The separated borders model</a>
<li class="tocline3"><a href="changes.html#q282" class="tocxref">C.4.88 Section 17.6.2 The collapsing borders model</a>
<li class="tocline3"><a href="changes.html#q283" class="tocxref">C.4.89 Section 18.2 System Colors</a>
<li class="tocline3"><a href="changes.html#q284" class="tocxref">C.4.90 Section 18.4 Dynamic outlines</a>
<li class="tocline3"><a href="changes.html#q285" class="tocxref">C.4.91 Section 18.4.1 Outlines and the focus</a>
<li class="tocline3"><a href="changes.html#q286" class="tocxref">C.4.92 Appendix D Default style sheet for HTML 4</a>
</ul>
<li class="tocline2"><a href="changes.html#errata" class="tocxref">C.5 Errata since the Candidate Recommendation of July 2007</a>
<ul class="toc">
<li class="tocline3"><a href="changes.html#q288" class="tocxref">C.5.1 Section 1.4.2.1 Value</a>
<li class="tocline3"><a href="changes.html#q289" class="tocxref">C.5.2 Section 2.3 The CSS 2.1 processing model</a>
<li class="tocline3"><a href="changes.html#q290" class="tocxref">C.5.3 Section 3.1 Definitions</a>
<li class="tocline3"><a href="changes.html#q291" class="tocxref">C.5.4 Section 4.1.1 Tokenization</a>
<li class="tocline3"><a href="changes.html#q292" class="tocxref">C.5.5 Section 4.1.2.2 Informative Historical Notes</a>
<li class="tocline3"><a href="changes.html#q293" class="tocxref">C.5.6 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q294" class="tocxref">C.5.7 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q295" class="tocxref">C.5.8 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q296" class="tocxref">C.5.9 Section 4.1.3 Characters and case</a>
<li class="tocline3"><a href="changes.html#q297" class="tocxref">C.5.10 Section 4.1.5 At-rules</a>
<li class="tocline3"><a href="changes.html#q298" class="tocxref">C.5.11 Section 4.1.7 Rule sets, declaration blocks, and selectors</a>
<li class="tocline3"><a href="changes.html#q299" class="tocxref">C.5.12 Section 4.2 Rules for handling parsing errors</a>
<li class="tocline3"><a href="changes.html#q300" class="tocxref">C.5.13 Section 4.2 Rules for handling parsing errors</a>
<li class="tocline3"><a href="changes.html#q301" class="tocxref">C.5.14 Section 4.3.2 Lengths</a>
<li class="tocline3"><a href="changes.html#q302" class="tocxref">C.5.15 Section 4.3.5 Counters</a>
<li class="tocline3"><a href="changes.html#q303" class="tocxref">C.5.16 Section 5.8.1 Matching attributes and attribute values</a>
<li class="tocline3"><a href="changes.html#q304" class="tocxref">C.5.17 Section 5.8.2 Default attribute values in DTDs</a>
<li class="tocline3"><a href="changes.html#q305" class="tocxref">C.5.18 Section 5.11.4 The language pseudo-class: :lang</a>
<li class="tocline3"><a href="changes.html#q306" class="tocxref">C.5.19 Section 5.12.3 The :before and :after pseudo-elements</a>
<li class="tocline3"><a href="changes.html#q307" class="tocxref">C.5.20 Section 6.3 The @import rule</a>
<li class="tocline3"><a href="changes.html#q308" class="tocxref">C.5.21 Section 6.3 The @import rule</a>
<li class="tocline3"><a href="changes.html#q309" class="tocxref">C.5.22 Section 6.4.1 Cascading order</a>
<li class="tocline3"><a href="changes.html#q310" class="tocxref">C.5.23 Section 6.4.1 Cascading order</a>
<li class="tocline3"><a href="changes.html#q311" class="tocxref">C.5.24 Section 7.2.1 The @media rule</a>
<li class="tocline3"><a href="changes.html#q312" class="tocxref">C.5.25 Section 8.3.1 Collapsing margins</a>
<li class="tocline3"><a href="changes.html#q313" class="tocxref">C.5.26 Section 8.3.1 Collapsing margins</a>
<li class="tocline3"><a href="changes.html#q314" class="tocxref">C.5.27 Section 8.3.1 Collapsing margins</a>
<li class="tocline3"><a href="changes.html#q315" class="tocxref">C.5.28 Section 9.2.2 Inline-level elements and inline boxes</a>
<li class="tocline3"><a href="changes.html#q316" class="tocxref">C.5.29 Section 9.2.4 The 'display' property</a>
<li class="tocline3"><a href="changes.html#q317" class="tocxref">C.5.30 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a>
<li class="tocline3"><a href="changes.html#q318" class="tocxref">C.5.31 Section 9.5 Floats</a>
<li class="tocline3"><a href="changes.html#q319" class="tocxref">C.5.32 Section 9.5 Floats</a>
<li class="tocline3"><a href="changes.html#q320" class="tocxref">C.5.33 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a>
<li class="tocline3"><a href="changes.html#q321" class="tocxref">C.5.34 Section 9.6.1 Fixed positioning</a>
<li class="tocline3"><a href="changes.html#q322" class="tocxref">C.5.35 Section 9.9.1 Specifying the stack level: the 'z-index' property</a>
<li class="tocline3"><a href="changes.html#q323" class="tocxref">C.5.36 Section 10.1 Definition of "containing block"</a>
<li class="tocline3"><a href="changes.html#q324" class="tocxref">C.5.37 Section 10.3 Calculating widths and margins</a>
<li class="tocline3"><a href="changes.html#q325" class="tocxref">C.5.38 Section 10.3.1 Inline, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q326" class="tocxref">C.5.39 Section 10.3.2 Inline, replaced elements</a>
<li class="tocline3"><a href="changes.html#q327" class="tocxref">C.5.40 Section 10.3.2 Inline, replaced elements</a>
<li class="tocline3"><a href="changes.html#q328" class="tocxref">C.5.41 Section 10.3.3 Block-level, non-replaced elements in normal flow</a>
<li class="tocline3"><a href="changes.html#q329" class="tocxref">C.5.42 Section 10.3.7 Absolutely positioned, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q330" class="tocxref">C.5.43 Section 10.3.7 Absolutely positioned, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q331" class="tocxref">C.5.44 Section 10.3.8 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q332" class="tocxref">C.5.45 Section 10.3.8 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q333" class="tocxref">C.5.46 Section 10.3.8 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q334" class="tocxref">C.5.47 Section 10.5 Content height: the 'height' property</a>
<li class="tocline3"><a href="changes.html#q335" class="tocxref">C.5.48 Section 10.6.2 Inline replaced elements […]</a>
<li class="tocline3"><a href="changes.html#q336" class="tocxref">C.5.49 Section 10.6.4 Absolutely positioned, non-replaced elements</a>
<li class="tocline3"><a href="changes.html#q337" class="tocxref">C.5.50 Section 10.6.5 Absolutely positioned, replaced elements</a>
<li class="tocline3"><a href="changes.html#q338" class="tocxref">C.5.51 Section 10.8.1 Leading and half-leading</a>
<li class="tocline3"><a href="changes.html#q339" class="tocxref">C.5.52 Section 11.1.1 Overflow: the 'overflow' property</a>
<li class="tocline3"><a href="changes.html#q340" class="tocxref">C.5.53 Section 11.1.2 Clipping: the 'clip' property</a>
<li class="tocline3"><a href="changes.html#q341" class="tocxref">C.5.54 Section 12.2 The 'content' property</a>
<li class="tocline3"><a href="changes.html#q342" class="tocxref">C.5.55 Section 12.4.2 Counter styles</a>
<li class="tocline3"><a href="changes.html#q343" class="tocxref">C.5.56 Section 12.5 Lists</a>
<li class="tocline3"><a href="changes.html#q344" class="tocxref">C.5.57 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a>
<li class="tocline3"><a href="changes.html#q345" class="tocxref">C.5.58 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a>
<li class="tocline3"><a href="changes.html#q346" class="tocxref">C.5.59 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a>
<li class="tocline3"><a href="changes.html#q347" class="tocxref">C.5.60 Section 13.2 Page boxes: the @page rule</a>
<li class="tocline3"><a href="changes.html#q348" class="tocxref">C.5.61 Section 13.2.1.1 Rendering page boxes that do not fit a target sheet</a>
<li class="tocline3"><a href="changes.html#q349" class="tocxref">C.5.62 Section 13.2.3 Content outside the page box</a>
<li class="tocline3"><a href="changes.html#q350" class="tocxref">C.5.63 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a>
<li class="tocline3"><a href="changes.html#q351" class="tocxref">C.5.64 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a>
<li class="tocline3"><a href="changes.html#q352" class="tocxref">C.5.65 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a>
<li class="tocline3"><a href="changes.html#q353" class="tocxref">C.5.66 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a>
<li class="tocline3"><a href="changes.html#q354" class="tocxref">C.5.67 Section 13.3.3 Allowed page breaks</a>
<li class="tocline3"><a href="changes.html#q355" class="tocxref">C.5.68 Section 13.3.3 Allowed page breaks</a>
<li class="tocline3"><a href="changes.html#q356" class="tocxref">C.5.69 Section 13.3.3 Allowed page breaks</a>
<li class="tocline3"><a href="changes.html#q357" class="tocxref">C.5.70 Section 13.3.5 "Best" page breaks</a>
<li class="tocline3"><a href="changes.html#q358" class="tocxref">C.5.71 Section 14.2 The background</a>
<li class="tocline3"><a href="changes.html#q359" class="tocxref">C.5.72 Section 14.2 The background</a>
<li class="tocline3"><a href="changes.html#q360" class="tocxref">C.5.73 Section 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a>
<li class="tocline3"><a href="changes.html#q361" class="tocxref">C.5.74 Section 15.6 Font boldness: the 'font-weight' property</a>
<li class="tocline3"><a href="changes.html#q362" class="tocxref">C.5.75 Section 16.6 Whitespace: the 'white-space' property</a>
<li class="tocline3"><a href="changes.html#q363" class="tocxref">C.5.76 Section 16.6.1 The 'white-space' processing model</a>
<li class="tocline3"><a href="changes.html#q364" class="tocxref">C.5.77 Section 17.2.1 Anonymous table objects</a>
<li class="tocline3"><a href="changes.html#q365" class="tocxref">C.5.78 Section 17.2.1 Anonymous table objects</a>
<li class="tocline3"><a href="changes.html#q366" class="tocxref">C.5.79 Section 17.4 Tables in the visual formatting model</a>
<li class="tocline3"><a href="changes.html#q367" class="tocxref">C.5.80 Section 17.5.4 Horizontal alignment in a column</a>
<li class="tocline3"><a href="changes.html#q368" class="tocxref">C.5.81 Section 18.1 Cursors: the 'cursor' property</a>
<li class="tocline3"><a href="changes.html#q369" class="tocxref">C.5.82 Section B.2 Informative references</a>
<li class="tocline3"><a href="changes.html#q370" class="tocxref">C.5.83 Appendix D. Default style sheet for HTML 4</a>
<li class="tocline3"><a href="changes.html#q371" class="tocxref">C.5.84 Appendix D. Default style sheet for HTML 4</a>
<li class="tocline3"><a href="changes.html#q372" class="tocxref">C.5.85 Section E.2 Painting order</a>
<li class="tocline3"><a href="changes.html#q373" class="tocxref">C.5.86 Appendix G. Grammar of CSS 2.1</a>
<li class="tocline3"><a href="changes.html#q374" class="tocxref">C.5.87 Section G.1 Grammar</a>
<li class="tocline3"><a href="changes.html#q375" class="tocxref">C.5.88 Section G.2 Lexical scanner</a>
<li class="tocline3"><a href="changes.html#q376" class="tocxref">C.5.89 Section G.2 Lexical scanner</a>
<li class="tocline3"><a href="changes.html#q377" class="tocxref">C.5.90 Section G.2 Lexical scanner</a>
<li class="tocline3"><a href="changes.html#q378" class="tocxref">C.5.91 Section G.2 Lexical scanner</a>
<li class="tocline3"><a href="changes.html#q379" class="tocxref">C.5.92 Appendix I. Index</a>
</ul>
</ul>
</div>
<P><em>This appendix is informative, not normative.</em></P>
<P>CSS 2.1 is an updated revision of CSS2. The changes between
the CSS2 specification (see <a href="refs.html#ref-CSS2" rel="biblioentry" class="noxref"><span class="informref">[CSS2]</span></a>) and this specification fall into
five groups: <a href="changes.html#known-errors">known errors,</a> typographical
errors, <a href="changes.html#clarifications">clarifications,</a> <a
href="changes.html#changes">changes</a> and <a href="changes.html#new">additions.</a>
Typographical errors are not listed here.</P>
<p>In addition, this chapter lists the <a href="changes.html#errata">errata</a>
that were subsequently applied to CSS 2.1 since it became a
Candidate Recommendation in July 2007.
<p>This chapter is not a complete list of changes. Minor editorial
changes and most changes to examples are also not listed here.</p>
<h2>C.1 <a name="new">Additional property values</a></h2>
<h3 id="a4.3.6"><a name="q2">C.1.1 </a><a href="syndata.html#color-units">Section 4.3.6
Colors</a></h3>
<p>New color value: 'orange'
<h3 id="a9.2.4"><a name="q3">C.1.2 </a><a href="visuren.html#propdef-display">Section 9.2.4
The 'display' property</a></h3>
<p>New 'display' value: 'inline-block'
<h3 id="a12.2"><a name="q4">C.1.3 </a><a href="generate.html#content">Section 12.2 The
'content' property</a></h3>
<p>New 'content' values 'none' and 'normal'. (The values 'none' and
'normal' are equivalent in CSS 2.1, but may have different
functions in CSS3.)
<h3 id="a16.6"><a name="q5">C.1.4 </a><a href="text.html#propdef-white-space">Section 16.6
White space: the 'white-space' property</a></h3>
<p>New 'white-space' values: 'pre-wrap' and 'pre-line'
<h3 id="a18.1"><a name="q6">C.1.5 </a><a href="ui.html#propdef-cursor">Section 18.1 Cursors:
the 'cursor' property</a></h3>
<p>New 'cursor' value: 'progress'
<h2>C.2 <a name="changes">Changes</a></h2>
<h3 id="c1.1"><a name="q8">C.2.1 </a><a href="about.html#css2.1-v-css2">Section 1.1 CSS 2.1 vs CSS 2</a></h3>
<p>This new section is added to explain the motivation for CSS2.1
and its relation to CSS2.</p>
<h3 id="c1.2"><a name="q9">C.2.2 </a><a href="about.html#reading">Section 1.2 Reading the specification</a></h3>
<p>This section (formerly Section 1.1) has been marked non-normative.</p>
<h3 id="c1.3"><a name="q10">C.2.3 </a><a href="about.html#organization">Section 1.3 How the specification is organized</a></h3>
<p>This section (formerly Section 1.2) has been marked non-normative.</p>
<h3 id="c1.4.2.1"><a name="q11">C.2.4 </a><a href="about.html#value-defs">Section 1.4.2.1 Value</a></h3>
<p>This section (formerly unnumbered under 1.3.2) notes that value types are specified
in terms of tokens and that spaces may appear between tokens in values. A note
explains that spaces are required between some tokens.</p>
<h3 id="c1.4.2.6"><a name="q12">C.2.5 </a><a href="about.html#media-applies">Section 1.4.2.6 Media groups</a></h3>
<p>This section (formerly unnumbered under 1.3.2) now declares the Media line
in property definitions to be non-normative.</p>
<h3 id="c1.4.2.7"><a name="q13">C.2.6 </a><a href="about.html#computed-defs">Section 1.4.2.7 Computed value</a></h3>
<p>A new line is added to each property definition specifying what the computed
values are for the property. (This defines what level of computation is done to
a property value before inheritance and before certain other calculations.)</p>
<h3 id="c1.4.4"><a name="q14">C.2.7 </a><a href="about.html#notes-and-examples">Section 1.4.4 Notes and examples</a></h3>
<p>This section (formerly 1.3.4) now specifies that HTML examples lacking DOCTYPE
declarations are SGML Text Entities conforming to the HTML 4.01 Strict DTD [HTML4].
The markup for many examples has been reformulated to either include a DOCTYPE or
conform to this definition.</p>
<h3 id="c1.5"><a name="q15">C.2.8 </a><a href="about.html#acknowledgements">Section 1.5 Acknowledgements</a></h3>
<p>This section (formerly 1.4) has been updated to reflect contributions to CSS2.1
and has been marked non-normative.<p>
<h3 id="c3.2"><a name="q16">C.2.9 </a><a href="conform.html#conformance">Section 3.2
Conformance</a></h3>
<p>Support for user style sheets is now required (in most cases),
rather than just recommended.
<p>Support for turning of author style sheets is now required.</p>
<p>Application of CSS properties to form controls is explicitly undefined.
Authors are recommended to treat form control styling capabilities in UAs
as experimental.</p>
<h3 id="c3.3"><a name="q17">C.2.10 </a><a href="conform.html#errors">Section 3.3
Error Conditions</a></h3>
<p>This section changed to say that error handling <em>is</em> specified
in most cases.</p>
<h3 id="c4.1.1"><a name="q18">C.2.11 </a><a href="syndata.html#tokenization">Section 4.1.1 Tokenization</a></h3>
<p>Added INVALID token and rules for its definition.</p>
<p>An optional hyphen, "-", is now allowed at the beginning of an "ident"
for vendor extensions. (See section 4.1.2.1)</p>
<p id="underscore">The underscore character
("_") is allowed in identifiers. The definitions of the lexical
macros "nmstart" and "nmchar" now include it. See also section
4.1.2.1 (Vendor extensions).</p>
<p>The "escape" macro has been modified to allow the escaping of any
character except newlines, form feeds, and hex digits (to avoid
conflict with unicode escapes).</p>
<p>Modified "string1" and "string2" macros by defining allowed characters
through excluding disallowed characters. This allows invisible ASCII
characters to be included in a string.</p>
<h3 id="c4.1.3"><a name="q19">C.2.12 </a><a href="syndata.html#characters">Section 4.1.3
Characters and case</a></h3>
<p>Updated prose about identifiers (second bullet point) to match changes
in the tokenization (above).</p>
<p>Excluded null (0x0) character from CSS numerical escapes and indicate that
it is undefined in CSS2.1 what happens if such a character is encountered.</p>
<p>Allowed the use of U+FFFD as a replacement for characters outside the
range allowed by Unicode.</p>
<p>CSS is no longer case-insensitive, but case-sensitive with
exceptions. Changed "All CSS style sheets are case-insensitive, except
for parts that are not under the control of CSS" to "All CSS syntax is
case-insensitive within the ASCII range (i.e. [a-z] and [A-Z] are
equivalent), except for parts that are not under the control of CSS."
See also the change to case-sensitivity of counters in <a
href="changes.html#c4.3.5">4.3.5.</a>
<h3 id="c4.2"><a name="q20">C.2.13 </a><a href="syndata.html#parsing-errors">Section 4.2
Rules for handling parsing errors</a></h3>
<p>Defined parsing in the cases of Malformed Declarations,
Unexpected End of Stylesheet, and Unexpected End of String.</p>
<h3 id="c4.3"><a name="q21">C.2.14 </a><a href="syndata.html#values">Section 4.3
Values</a></h3>
<p>Sections 4.3.7 (Angles), 4.3.8 (Times), and 4.3.9 (Frequencies)
have been moved to the informative Appendix A.</p>
<h3 id="c4.3.2"><a name="q22">C.2.15 </a><a href="syndata.html#length-units">Section 4.3.2
Lengths</a></h3>
<p>Added a paragraph on heuristics for finding the x-height of a font.</p>
<h3 id="c4.3.4"><a name="q23">C.2.16 </a><a href="syndata.html#uri">Section 4.3.4
URLs and URIs</a></h3>
<p>Updated URI references to RFC3986.</p>
<h3 id="c4.3.5"><a name="q24">C.2.17 </a><a href="syndata.html#counter">Section 4.3.5
Counters</a></h3>
<p>Changed "Counters are denoted by identifiers" to "ounters are
denoted by <ins>case-sensitive</ins> identifiers" (see also the
change to case-sensitivity in <a href="changes.html#c4.1.3">4.1.3</a>).
<h3 id="c4.3.6"><a name="q25">C.2.18 </a><a href="syndata.html#color-units">Section 4.3.6
Colors</a></h3>
<p>Defined the numeric values corresponding to color keywords instead
of referencing HTML4 for those values.</p>
<p>UAs are now allowed to intelligently map colors outside the gamut
into the gamut instead of simply clipping them into the range of the
gamut.</p>
<h3 id="c4.3.8"><a name="q26">C.2.19 </a><a href="syndata.html#unsupported-values">Section 4.3.8
Unsupported Values</a></h3>
<p>Added this section to recommend that unsupported properties and values
be ignored as if they were invalid.</p>
<h3 id="c4.4"><a name="q27">C.2.20 </a><a href="syndata.html#charset">Section 4.4
CSS style sheet representation</a></h3>
<p>Changed character encoding detection rule 2 to include a BOM and
referred to additional rules below.</p>
<p>Added rule 4 to provide for use of the referring style sheet
or document's character encoding.</p>
<p>Added rule 5 to require falling back to UTF-8.</p>
<p>Removed the restriction on using @charset in embedded style sheets.</p>
<p>Allowed a BOM to precede the @charset rule.</p>
<p>Added requirement that @charset rule must be a literal '@charset"...";',
not a CSS-syntax equivalent.</p>
<p>Added requirement to support for UTF-8 at minimum.</p>
<p>Specified that any @charset rule not at the beginning of the style sheet
must be ignored.</p>
<p>Removed note on theoretical problem with @charset problem and precisely
defined rules for character encoding detection based on @charset and/or BOM.</p>
<p>Specified that UAs must ignore style sheets in unknown encodings.</p>
<h3 id="c5.8.1"><a name="q28">C.2.21 </a><a href="selector.html#matching-attrs">Section 5.8.1 Matching
attributes and attribute values</a></h3>
<p>RFC 3066 replaces RFC 1766.
<h3 id="c5.8.3"><a name="q29">C.2.22 </a><a href="selector.html#class-html">Section 5.8.3 Class
selectors</a></h3>
<p>Class selectors are allowed for other formats than HTML.
<p>Added a note about matching classes in formats with multiple class
attributes per element. The behavior is non-normative, because, at the
time of writing, there exist no such formats.
<h3 id="c5.9"><a name="q30">C.2.23 </a><a href="selector.html#id-selectors">Section 5.9 ID
selectors</a></h3>
<p>Specified how to match elements with two or more ID attributes.
<h3 id="c5.10"><a name="q31">C.2.24 </a><a href="selector.html#pseudo-elements">Section 5.10
Pseudo-elements and pseudo-classes</a></h3>
<p>Removed exception for HTML UAs that allowed them (and only them) to
ignore ':first-letter' and ':first-line'.
<h3 id="c5.11.2"><a name="q32">C.2.25 </a><a href="selector.html#link-pseudo-classes">Section 5.11.2
The link pseudo-classes: :link and :visited</a></h3>
<p>UAs may return a :visited link to :link status at some point. (This
was previously a note, but is now normative.)
<p>Added a note about privacy concerns with link pseudo classes and
allowed UAs to treat :visited as :link.
<h3 id="c5.11.4"><a name="q33">C.2.26 </a><a href="selector.html#lang">Section 5.11.4 The
language pseudo-class: :lang</a></h3>
<p>The identifier C in ':lang(C)' need not be a valid language code,
but it must not be empty.
<h3 id="c5.12.1"><a name="q34">C.2.27 </a><a href="selector.html#first-line-pseudo">Section
5.12.1 The :first-line pseudo-element</a></h3>
<p>':first-line' also applies to inline blocks, table captions and
table cells. Added a definition of "first formatted line" to make the
rules about which line is the first line more precise.
<p>UAs are no longer forbidden from applying more properties than the
given list.
<h3 id="c5.12.2"><a name="q35">C.2.28 </a><a href="selector.html#first-letter">Section 5.12.2
The :first-letter pseudo-element</a></h3>
<p>More precise definition of first letter. Added rules for cases
where the first letter is in an inline block or table cell. Added
rules for cases when preceding punctuation is in a different element
from the first letter itself.
<p>UAs may apply other properties to first letters than the given
list.
<p>Unicode character classes Pi and Pf added to the definition of
punctuation.
<h3 id="c6.1"><a name="q36">C.2.29 </a><a href="cascade.html#value-stages">Section 6.1 Specified, computed, and actual values</a></h3>
<p>Redefined "computed value" and created the concept of "used value"
so that inheritance can be performed without laying out the document.
This change has the effect of allowing (requiring) percentages to be inherited
as percentages and affects many other layout calculations throughout the spec.</p>
<p>Since computed value of a property can now also be a percentage. In
particular, the following properties now inherit the percentage if the
specified value is a percentage:
<ul>
<li>background-position
<li>bottom, left, right, top
<li>height, width
<li>margin-bottom, margin-left, margin-right, margin-top,
<li>min-height, min-width
<li>padding-bottom, padding-left, padding-right, padding-top
<li>text-indent
</ul>
<p>Note that only 'text-indent' inherits by default, the others only
inherit if the 'inherit' keyword is specified.
<h3 id="c6.4.1"><a name="q37">C.2.30 </a><a href="cascade.html#cascading-order">Section 6.4.1 Cascading order</a></h3>
<p>Changed suggestion that user be able to turn off author styles to a requirement.</p>
<h3 id="c6.4.3"><a name="q38">C.2.31 </a><a href="cascade.html#specificity">Section 6.4.3
Calculating a selector's specificity</a></h3>
<p>The "style" attribute now has a higher specificity than any style
rule.</p>
<p>Pseudo-elements are now counted with elements in calculating a
a selector's specificity.</p>
<h3 id="c6.4.4"><a name="q39">C.2.32 </a><a href="cascade.html#preshint">Section 6.4.4 Precedence
of non-CSS presentational hints</a></h3>
<p>"Non-CSS presentational hints" no longer exist, with the exception
of a small set of attributes in HTML.</p>
<h3 id="c7.3"><a name="q40">C.2.33 </a><a href="media.html#media-types">Section 7.3
Recognized Media Types</a></h3>
<p>Added 'speech' media type.</p>
<p>Marked "Media" field in property descriptions informative.</p>
<h3 id="c7.3.1"><a name="q41">C.2.34 </a><a href="media.html#media-types">Section 7.3.1
Media Groups</a></h3>
<p>Marked this section informative.</p>
<p>Added sound to 'handheld' in media type/media group table.</p>
<p>Changed 'tactile' to be both 'static' and 'interactive'.</p>
<h3 id="c8.3"><a name="q42">C.2.35 </a><a href="box.html#margin-properties">Section 8.3 Margin properties</a></h3>
<p>If the containing block's width depends on an element with percentage
margins, then the resulting layout is undefined in CSS 2.1.</p>
<h3 id="c8.3.1"><a name="q43">C.2.36 </a><a href="box.html#collapsing-margins">Section 8.3.1 Collapsing margins</a></h3>
<p>In the definition of "collapsing margins", added "non-empty content"
and "clearance" to the parenthetical list of things that prevent consecutive
margins from being adjoining.</p>
<p>Vertical margins of elements with 'overflow' other than 'visible' no longer
collapse with their in-flow children.</p>
<p>Defined how margins collapse through an element with adjoining top and
bottom margins.</p>
<p>Added that margins of the root element's box do not collapse.</p>
<p>More rigorously <a href="box.html#what-is-adjoining">defined "adjoining" for margin collapsing</a>.</p>
<p>Sixth bullet, second sub-bullet: to find the position of the top
border edge, assume the element has a <em>bottom</em> (rather than
top) border.
<p>Margins of relatively positioned elements <em>do</em> sometimes
collapse.
<h3 id="c8.4"><a name="q44">C.2.37 </a><a href="box.html#padding-properties">Section 8.4 Padding properties</a></h3>
<p>If the containing block's width depends on an element with percentage
padding, then the resulting layout is undefined in CSS 2.1.</p>
<h3 id="c8.5.2"><a name="q45">C.2.38 </a><a href="box.html#border-color-properties">Section 8.5.2 Border color</a></h3>
<p>'transparent' can now be specified independently for each border side,
on par with <color>.</p>
<h3 id="c8.5.3"><a name="q46">C.2.39 </a><a href="box.html#border-style-properties">Section 8.5.3 Border style</a></h3>
<p>3D border styles ('groove', 'ridge', 'inset', 'outset') now depend on the
corresponding border-color rather than on 'color'.</p>
<h3 id="c8.6"><a name="q47">C.2.40 </a><a href="box.html#bidi-box-model">Section 8.6 The box model for inline elements in bidirection context</a></h3>
<p>Added this new section to specify layout of inline boxes when affected by bidi.</p>
<h3 id="c9.1.2"><a name="q48">C.2.41 </a><a href="visuren.html#containing-block">Section 9.1.2
Containing blocks</a></h3>
<p>Removed paragraphs about the initial containing block, as this is
now defined differently. (See <a href="changes.html#initial-containing-block">changes
to section 10.1</a>.)</p>
<h3 id="c9.2.1.1"><a name="q49">C.2.42 </a><a href="visuren.html#anonymous-block-level">Section 9.2.1.1
Anonymous block boxes</a></h3>
<p>Added a paragraph to define formatting when an inline box contains
a block box.</p>
<p>Specified what property values are applied to anonymous boxes.</p>
<h3 id="c9.2.2.1"><a name="q50">C.2.43 </a><a href="visuren.html#anonymous">Section 9.2.2.1
Anonymous inline boxes</a></h3>
<p>Specified that collapsed white space does not generate anonymous
inline boxes.</p>
<h3 id="c9.2.3"><a name="q51">C.2.44 </a><a href="visuren.html#run-in">Section 9.2.3
Run-in boxes</a></h3>
<p>Changed run-in rules so that a) run-ins that contain blocks become blocks
b) run-ins can only run into sibling blocks and c) run-ins cannot run into
other run-ins.</p>
<h3 id="c9.2.4"><a name="q52">C.2.45 </a><a href="visuren.html#display-prop">Section 9.2.4
The 'display' property</a></h3>
<p>The 'marker' and 'compact' values of the 'display' property are
not part of CSS 2.1. Text relating to these values has been
removed throughout the specification.</p>
<p>Defined the computed value of 'display' as the specified value
except for positioned and floating elements and for the root element.
The computed value of 'display' for these elements is defined in
<a href="visuren.html#dis-pos-flo">section 9.7</a> and is slightly
different from the definition in CSS2.</p>
<p>Conforming HTML UAs are no longer allowed to ignore the 'display'
property.</p>
<h3 id="c9.3.1"><a name="q53">C.2.46 </a><a href="visuren.html#choose-position">Section 9.3.1
Choosing a positioning scheme</a></h3>
<p>The 'position' property now applies to all elements, including
generated content.</p>
<p>The effect of relative positioning on table captions and internal
table elements is undefined in CSS 2.1.</p>
<p>For fixed positioning, introduced a conflict between this section
and section 10.1 rule 3.
See <a href="http://lists.w3.org/Archives/Member/w3c-css-wg/2003AprJun/0172.html">howcome</a>
for rationale.</p>
<p>Forbid UAs from paginating the content of fixed boxes.</p>
<p>UAs are allowed to treat all values of 'position' as 'static' on
the root element.</p>
<h3 id="c9.3.2"><a name="q54">C.2.47 </a><a href="visuren.html#position-props">Section 9.3.2
Box offsets</a></h3>
<p>Defined computed values of 'top', 'right', 'bottom', 'left' based
on the value of 'position'.</p>
<p>Percentage offsets are no longer undefined for containing blocks
without an explicit height.</p>
<h3 id="c9.4.1"><a name="q55">C.2.48 </a><a href="visuren.html#block-formatting">Section 9.4.1
Block formatting contexts</a></h3>
<p>Specified that floats, absolutely positioned elements, inline-blocks,
table-cells, table-captions, and elements with 'overflow' other than
'visible' establish new block formatting contexts.</p>
<p>In the paragraph about the position of a box's outer edge with respect
to its containing block, except boxes that establish a new block formatting
context, as they may become narrower due to floats.</p>
<h3 id="c9.4.2"><a name="q56">C.2.49 </a><a href="visuren.html#inline-formatting">Section 9.4.2
Inline formatting context</a></h3>
<p>Specified that the effect of 'justify' on the content of a line box
does not affect the contents of inline-table and inline-block boxes.</p>
<p>Empty line boxes are now required to be treated as zero-height and
ignored in margin collapsing.</p>
<h3 id="c9.4.3"><a name="q57">C.2.50 </a><a href="visuren.html#relative-positioning">Section 9.4.3
Relative positioning</a></h3>
<p>Added several paragraphs and an example to explain exactly what the
computed values of relatively-positioned offsets are, how they affect
each other, and what happens when the positioning is overconstrained.
(These were not previously defined.)</p>
<h3 id="c9.5"><a name="q58">C.2.51 </a><a href="visuren.html#floats">Section 9.5
Floats</a></h3>
<p>Floats are no longer required to have an explicit width.</p>
<p>Floats outside of line boxes no longer align to the bottom of
the preceding block box; it is implied that they are initially
aligned with their non-floated position.</p>
<p>Specified that "If a shortened line box is too small to contain any
further content, then it is shifted downward until either it fits or
there are no more floats present."</p>
<p>Specified that the border box of a table, block-level replaced element,
or element in the normal flow that establishes a new block formatting
context must not overlap any floats in the same block formatting context.</p>
<h3 id="c9.5.1"><a name="q59">C.2.52 </a><a href="visuren.html#float-position">Section 9.5.1
Positioning the float</a></h3>
<p>The 'float' property now also applies to :before/:after and generated
content.</p>
<p>UAs are now allowed to treat all values of float as 'none' on the
root element.</p>
<p>Added to rule 4 prose to define the position of a float when it
occurs between two collapsing margins.</p>
<h3 id="c9.5.2"><a name="q60">C.2.53 </a><a href="visuren.html#flow-control">Section 9.5.2
Controlling flow next to floats</a></h3>
<p>Defined <em>clearance</em> to precisely detail the 'clear' property's
effect on margin collapsing and the block's cleared position.</p>
<p>Added note to explain effect of 'clear' on inline elements since
CSS1 (but not CSS2 or CSS 2.1) allows 'clear' on inline elements.</p>
<h3 id="c9.7"><a name="q61">C.2.54 </a><a href="visuren.html#dis-pos-flo">Section 9.7
Relationships between 'display', 'position', and 'float'</a></h3>
<p>Changed rules to convert 'display' not always to 'block', but
to an appropriate block-level display value as given by a mapping
table.</p>
<p>Added rule 4 to convert root element's 'display' value according
to the mapping.</p>
<h3 id="c9.9"><a name="q62">C.2.55 </a><a href="visuren.html#layers">Section 9.9
Layered presentation</a></h3>
<p>Specified that the background and borders of an element that forms
a stacking context are behind all of its descendants, altered stacking
context prose to be more precise, and added a normative
<a href="zindex.html">Appendix E: Elaborate description of Stacking
Contexts</a> to be even more precise about the position of borders,
backgrounds, and content on the z-axis.</p>
<h3 id="c9.10"><a name="q63">C.2.56 </a><a href="visuren.html#direction">Section 9.10
Text direction</a></h3>
<p>Conforming UAs are now allowed to not support bidirectional text; in
this case they must ignore the 'direction' and 'unicode-bidi' properties.
However since applying bidi can have an effect even when a document
doesn't contain right-to-left characters, UAs that do support bidi are
no longer permitted to not apply the algorithm just because the document
lacks right-to-left characters.</p>
<p>Added a paragraph to define precisely how the Unicode bidirectional
algorithm applies to text in the CSS formatting model and how the CSS
'direction' property on blocks maps into the algorithm.</p>
<p>Conforming HTML UAs are no longer exempt from supporting 'direction'
and 'unicode-bidi'.</p>
<h3 id="c10"><a name="q64">C.2.57 </a><a href="visudet.html">Chapter 10
Visual formatting model details</a></h3>
<p>Updated prose to use the terms "specified", "computed" and "used"
as appropriate when referencing values. This affects many calculations
in this section. (See <a href="changes.html#c6.1">changes to section 6.1</a>.)</p>
<h3 id="c10.1"><a name="q65">C.2.58 </a><a href="visudet.html#containing-block-details">Section 10.1
Definition of "containing block"</a></h3>
<p id="initial-containing-block">In rule 1, defined the initial
containing block as the viewport for continuous media and the page
area for paged media. (It was previously undefined.)</p>
<p>In rule 2, defined the page area as the containing block for fixed
positioned elements in paged media.</p>
<p>In rule 4.1, when the containing block of an absolutely-positioned
element is formed by an inline-level element, it is now formed by that
element's padding edges, not its content edges.</p>
<p>In rule 4, changed the containing block for absolutely positioned
elements with only statically positioned elements from the root's
content box to the initial containing block.</p>
<p>Specified the positioning and breaking behavior of absolutely-positioned
elements in paged media.</p>
<h3 id="c10.2"><a name="q66">C.2.59 </a><a href="visudet.html#the-width-property">Section 10.2
Content width</a></h3>
<p>Declared that if the containing block's width depends on an element's
percentage width, then the resulting layout is undefined in CSS 2.1.</p>
<h3 id="c10.3"><a name="q67">C.2.60 </a><a href="visudet.html#Computing_widths_and_margins">Section 10.3
Calculating widths and margins</a></h3>
<p>The computed values of 'left' and 'right' for are now defined in
<a href="visuren.html#position-props">section 9.3.2</a>. The value
'auto' does not always compute to zero.</p>
<p>Added sections 10.3.9 and 10.3.10 to define calculations for inline blocks.</p>
<h3 id="c10.3.2"><a name="q68">C.2.61 </a><a href="visudet.html#inline-replaced-width">Section 10.3.2
Inline, replaced elements</a></h3>
<p>The sizing algorithm for replaced elements now takes into account and
attempts to preserve the replaced content's intrinsic ratio. Sizing of
replaced elements with percentage intrinsic sizes and without intrinsic
sizes is now also defined.</p>
<p>The effect of percentage intrinsic widths is now undefined for CSS
level2, rather than ignored.
<h3 id="c10.3.3"><a name="q69">C.2.62 </a><a href="visudet.html#blockwidth">Section 10.3.3
Block-level, non-replaced elements in normal flow</a></h3>
<p>Specified that a computed total of the width, padding, and borders
that is greater than the containing block width causes auto margins to
be treated as zero in the rest of the rules. This avoids 'auto' margins
being negative on the start edge.</p>
<h3 id="c10.3.4"><a name="q70">C.2.63 </a><a href="visudet.html#block-replaced-width">Section 10.3.4
Block-level, replaced elements in normal flow</a></h3>
<p>Applied changes to section 10.3.2 and section 10.3.3 to block-level
replaced elements in normal flow by referring to the calculations in
those sections.</p>
<h3 id="c10.3.5"><a name="q71">C.2.64 </a><a href="visudet.html#float-width">Section 10.3.5
Floating, non-replaced elements</a></h3>
<p>Defined computations for 'auto' width floats as shrink-to-fit.
(Floats were previously required to have fixed widths.)</p>
<h3 id="c10.3.6"><a name="q72">C.2.65 </a><a href="visudet.html#float-replaced-width">Section 10.3.6
Floating, replaced elements</a></h3>
<p>Applied changes to section 10.3.2 to this section by referencing
it for 'auto' width calculations.</p>
<h3 id="c10.3.7"><a name="q73">C.2.66 </a><a href="visudet.html#abs-non-replaced-width">Section 10.3.7
Absolutely positioned, non-replaced elements</a></h3>
<p>Defined the static position of an element more precisely.</p>
<p>Rewrote constraint rules.</p>
<p>The 'direction' property of the containing block of the static
position determines which side is clamped to the static position, not
the 'direction' property of the containing block of the absolutely
positioned element.
<h3 id="c10.3.8"><a name="q74">C.2.67 </a><a href="visudet.html#abs-replaced-width">Section 10.3.8
Absolutely positioned, replaced elements</a></h3>
<p>In rule 1, applied sizing rules from section 10.3.2.</p>
<p>In rule 2 (formerly rules 2 and 3), referred to new definition of
'static position' in section 10.3.7.</p>
<p>Also in rule 2, the 'direction' property of the containing block of
the static position determines which side is clamped to the static
position, not the 'direction' property of the containing block of the
absolutely positioned element.
<p>In rule 4 (formerly rule 5), prevented 'auto' left and right margins
in resulting in a negative margin on the start edge.</p>
<h3 id="c10.4"><a name="q75">C.2.68 </a><a href="visudet.html#min-max-widths">Section 10.4
Minimum and maximum widths</a></h3>
<p>Specified that if the containing block's width is negative, the
used value of a percentage min/max width is zero.</p>
<p>Specified that if the min/max width is specified in percentages and
the containing block's width depends on this element's width, then the
resulting layout is undefined in CSS 2.1.</p>
<p>The UA is no longer allowed to select an aribtrary minimum width.</p>
<p>The used width of replaced elements with an intrinsic ratio and both
'width' and 'height' specified as 'auto' is now calculated according to
a table designed to preserve the intrinsic ratio as much as possible
within the given constraints.</p>
<h3 id="c10.5"><a name="q76">C.2.69 </a><a href="visudet.html#the-height-property">Section 10.5
Content height</a></h3>
<p>Removed mention of 'line-height' for inline elements since their
content box height no longer depends on 'line-height'.</p>
<p>Percentage heights on absolutely-positioned elements are no longer
treated as 'auto' when the containing block's height is not explicitly
specified. Added a note to explain why this is possible.</p>
<p>Specified that a percentage height on the root element is relative
to the initial containing block.</p>
<h3 id="c10.6"><a name="q77">C.2.70 </a><a href="visudet.html#Computing_heights_and_margins">Section 10.6
Calculating heights and margins</a></h3>
<p>The computed values of 'top' and 'bottom' for are now defined in
<a href="visuren.html#position-props">section 9.3.2</a>. The value
'auto' does not always compute to zero.</p>
<p>Added section 10.6.6 to cover cases that are no longer covered under
the previous sections.</p>
<p>Added section 10.6.7 to define 'auto' heights for block formatting
context roots. (Unlike other block boxes, the height of these boxes
increases to accomodate any normal-flow descendant floats.)</p>
<h3 id="c10.6.1"><a name="q78">C.2.71 </a><a href="visudet.html#inline-non-replaced">Section 10.6.1
Inline, non-replaced elements</a></h3>
<p>The height of an inline box is no longer given by the 'line-height'
property and is now undefined. This section now suggests that the
height of the box can be based on the font.</p>
<h3 id="c10.6.2"><a name="q79">C.2.72 </a><a href="visudet.html#inline-replaced-height">Section 10.6.2
Inline replaced elements, block-level replaced elements in normal flow,
'inline-block' replaced elements in normal flow and floating replaced elements</a></h3>
<p>The sizing algorithm for replaced elements now takes into account and
attempts to preserve the replaced content's intrinsic ratio. Sizing of
replaced elements with percentage intrinsic sizes and without intrinsic
sizes is now also defined.</p>
<p>Specified that for inline elements, the margin box is used when calculating
the height of the line box.</p>
<h3 id="c10.6.3"><a name="q80">C.2.73 </a><a href="visudet.html#normal-block">Section 10.6.3
Block-level non-replaced elements in normal flow when 'overflow' computes
to 'visible'</a></h3>
<p>This section now only applies to elements whose 'overflow' value computes
to 'visible'; elements with other values of 'overflow' are discussed in the
new section 10.6.7 ('Auto' heights for block formatting context roots).</p>
<h3 id="c10.6.4"><a name="q81">C.2.74 </a><a href="visudet.html#abs-non-replaced-height">Section 10.6.4
Absolutely positioned, non-replaced elements</a></h3>
<p>Defined the static position of an element more precisely.</p>
<p>Rewrote constraint rules.</p>
<h3 id="c10.6.5"><a name="q82">C.2.75 </a><a href="visudet.html#abs-replaced-height">Section 10.6.5
Absolutely positioned, replaced elements</a></h3>
<p>In rule 1, applied sizing rules from section 10.6.2.</p>
<h3 id="c10.7"><a name="q83">C.2.76 </a><a href="visudet.html#min-max-heights">Section 10.7
Minimum and maximum heights</a></h3>
<p>Percentage min/max heights on absolutely-positioned elements are no
longer treated as '0'/'none' when the containing block's height is not
explicitly specified. However if the containing block's width depends
on an element's percentage width, then the resulting layout is undefined
in CSS 2.1.</p>
<p>The used width of replaced elements with an intrinsic ratio and both
'width' and 'height' specified as 'auto' is now calculated according to
a table designed to preserve the intrinsic ratio as much as possible
within the given constraints.</p>
<h3 id="c10.8"><a name="q84">C.2.77 </a><a href="visudet.html#line-height">Section 10.8
Line height calculations</a></h3>
<p>Added rule 4 to specify that the height of the line box must be at
least as much as that specified by the 'line-height' property on the
this block.</p>
<h3 id="c10.8.1"><a name="q85">C.2.78 </a><a href="visudet.html#leading">Section 10.8.1
Leading and half-leading</a></h3>
<p>UAs are no longer permitted to clip content to the line box, and
are instead asked to render overlapping boxes in document order.</p>
<p>'line-height' set on a block no longer specifies the minimal height
of each inline box; instead it specifies the minimal height of each
line box. The exact effect of this requirement is expressed in terms
of struts; it is affected by vertical-alignment.</p>
<p>Adjusted text to reflect that the content box height of an inline
is no longer dictated by the 'line-height' property.</p>
<p>Since the content box is now defined by the font and not by the
line-height, 'text-top' and 'text-bottom' refer to the content area
instead of the font.</p>
<p>Defined 'top' and 'bottom' alignment in terms of aligned subtrees
to take into account any protruding descendants.</p>
<p>Defined the baseline of inline tables and inline blocks.</p>
<h3 id="c11.1"><a name="q86">C.2.79 </a><a href="visufx.html#overflow-clipping">Section 11.1
Overflow and clipping</a></h3>
<p>Specified that 'overflow' clips to the padding edge.</p>
<h3 id="c11.1.1"><a name="q87">C.2.80 </a><a href="visufx.html#overflow">Section 11.1.1
Overflow</a></h3>
<p>'projection' media are no longer permitted to print overflowing
content for 'overflow: scroll'. 'print' media now <em>may</em>, as
opposed to <em>should</em>.</p>
<p>UAs are now required to apply the 'overflow' property set on the root
element to the viewport. Additionally, HTML UAs must use the 'overflow'
property on the HTML BODY element instead if the root element's
'overflow' value is 'visible'.</p>
<p>Specified placement of scrollbar in the box model.</p>
<p>The width of any scrollbars is no longer included in the width of
the containing block. (And consequently, all text in section10.3 that
subtracts the scrollbar width from the containing block width has been
removed.)
<h3 id="c11.1.2"><a name="q88">C.2.81 </a><a href="visufx.html#clipping">Section 11.1.2 Clipping:
the 'clip' property</a></h3>
<p>The 'clip' property now applies only to absolutely positioned elements.
Furthermore, it applies to those elements even when their 'overflow' is
'visible'.</p>
<p>The default value of 'clip', 'auto', now indiciates no clipping
rather than clipping to the element's border box.</p>
<p>Values of "rect()" should be separated by commas. UAs are
required to support this syntax, but may also support a space-separated
syntax since CSS2 was not clear about this.</p>
<p>While CSS2 specified that values of "rect()" give offsets from the
respective sides of the box, current implementations interpret values
with respect to the top and left edges for <em>all</em> four values
(top, right, bottom, and left). This is now the specified
interpretation.
<h3 id="c11.2"><a name="q89">C.2.82 </a><a href="visufx.html#visibility">Section 11.2
Visibility</a></h3>
<p>The 'visibility' property is now defined to inherit, and descendant
elements can override an ancestor's hidden visibility.</p>
<h3 id="c12"><a name="q90">C.2.83 </a><a href="generate.html">Chapter 12
Generated content, automatic numbering, and lists</a></h3>
<p>Moved all discussion of aural rendering to Appendix A.</p>
<h3 id="c12.1"><a name="q91">C.2.84 </a><a href="generate.html#before-after-content">Section 12.1
The :before and :after pseudo-elements</a></h3>
<p>Removed restrictions on which properties and property values
are allowed on ':before' and ':after' pseudo-elements.</p>
<h3 id="c12.2"><a name="q92">C.2.85 </a><a href="generate.html#content">Section 12.2 The
'content' property</a></h3>
<p>The initial value of 'content' is now 'normal', not the empty
string.</p>
<p>The 'content' property now distinguishes between the empty string,
which creates an empty box; and 'normal'/'none', which create no box
at all. (There is no distinction between 'normal' and 'none' in
level 2.)</p>
<p>A UA is now allowed to report a URI that fails to download.</p>
<p>Removed recommendation to authors to put rules with media-sensitive
'content' properties inside '@media'.</p>
<p>Whether '\A' escapes in generated content create line breaks is now
subject to the 'white-space' property.</p>
<p>The former section 12.3 on interaction between ':before', ':after'
and elements with 'display: compact' or 'display: run-in' has been
removed. (The interaction is already fully defined, because generated
content consists of boxes in the tree, no different from other boxes.)
<h3 id="c12.3.2"><a name="q93">C.2.86 </a><a href="generate.html#quotes-insert">Section 12.3.2
Inserting quotes with the 'content' property</a></h3>
<p>Specified that extra 'close-quote's and 'no-close-quote's (those
without a matching 'open-quote' or 'no-open-quote') are not rendered,
and that neither 'close-quote' nor 'no-close-quote' cause the quoting
depth to be negative.</p>
<h3 id="c12.4"><a name="q94">C.2.87 </a><a href="generate.html#counters">Section 12.4 Automatic
counters and numbering</a></h3>
<p>Defined what a rule with duplicate counters, such as
'counter-reset: section 2 section', means.</p>
<h3 id="c12.4.1"><a name="q95">C.2.88 </a><a href="generate.html#scope">Section 12.4.1 Nested
counters and scope</a></h3>
<p>The scope of a counter no longer defaults to the whole document,
but starts at the first element that uses the counter. (This affects
counters that are used without a prior 'counter-reset' to set the
scope explicitly.)</p>
<h3 id="c12.5"><a name="q96">C.2.89 </a><a href="generate.html#lists">Section 12.5
Lists</a></h3>
<p>Removed text in section 12.5 (formerly 12.6) relating to the
'marker' display value.</p>
<p>Removed the 'marker-offset' property (and thus former section 12.6.1).</p>
<h3 id="c12.5.1"><a name="q97">C.2.90 </a><a href="generate.html#list-style">Section 12.5.1
Lists</a></h3>
<p>The list styles 'hebrew', 'armenian', 'georgian', 'cjk-ideographs',
'hiragana', 'katakana', 'hiragana-iroha' and 'katakana-iroha' have
been removed due to lack of implementation experience. (They are
expected to return in the CSS3 Lists module.)</p>
<p>Removed the sentence that said that an unknown value for
'list-style-type' should cause the value 'decimal' to be used instead.
Instead, normal parsing rules apply and cause the rule to be
ignored.</p>
<p>The size of list style markers without an intrinsic size is now
defined.
<h3 id="c13.1"><a name="q98">C.2.91 </a><a href="page.html">Chapter 13 Paged media</a></h3>
<p>The 'size', 'marks', and 'page' properties are not part of
CSS 2.1.</p>
<h3 id="c13.2.2"><a name="q99">C.2.92 </a><a href="page.html#page-selectors">Section 13.2.2
Page selectors</a></h3>
<p>The requirement for UA's to honor different declarations for
:left, :right, and :first pages has been softened to simplify
implementations: the page area of the :first page may be used
for :left and :right pages as well.</p>
<h3 id="c13.3.1"><a name="q100">C.2.93 </a><a href="page.html#page-break-props">Section 13.3.1
Page break properties</a></h3>
<p>UAs are now only required to apply the page break properties
to block-level elements in the normal flow of the root element,
not to other blocks.However, UAs are now permitted to apply these
properties to elements other than block-level elements.</p>
<p>Defined treatment of margins, borders, and padding when a page
break splits a box.</p>
<p>The 'page-break-inside' property no longer inherits.</p>
<h3 id="c13.3.3"><a name="q101">C.2.94 </a><a href="page.html#allowed-page-breaks">Section 13.3.3
Allowed page breaks</a></h3>
<p>The 'page-break-inside' property of all ancestors is checked
for page-breaking restrictions, not just that of the breakpoint's
parent.</p>
<p>When dropping restrictions to find a page breaking opportunity,
rule A is dropped together with B and D rather than together with C.</p>
<p>Removed restriction on breaking within absolutely positioned boxes.</p>
<h3 id="c14.2.1"><a name="q102">C.2.95 </a><a href="colors.html#background-properties">Section
14.2.1 Background properties</a></h3>
<p>For 'background-position', the restriction that keywords cannot
be combined with percentage or length values is removed. I.e., a
value like: '25% top' is now allowed. Also, 'background-position'
now applies to all elements, not just to block-level and replaced
elements.</p>
<p>User agents are no longer allowed to treat a value of 'fixed'
for 'background-attachment' as 'scroll'. Instead they must ignore
all such declarations as if 'fixed' were an invalid value.</p>
<p>The size of background images without an intrinsic size is now
defined.
<h3 id="c14.3"><a name="q103">C.2.96 </a><a href="colors.html#gamma-correction">Section
14.3 Gamma correction</a></h3>
<p>The contents of this section is now a non-normative note.</p>
<h3 id="c15"><a name="q104">C.2.97 </a><a href="fonts.html">Chapter 15 Fonts</a></h3>
<p>The 'font-stretch' and 'font-size-adjust' properties have
been removed in CSS 2.1.</p>
<p>Font descriptors, the '@font-face' declaration, and all
associated parts of the font matching algorithm have been
removed in CSS 2.1.</p>
<h3 id="c15.2"><a name="q105">C.2.98 </a><a href="fonts.html#algorithm">Section 15.2
Font matching algorithm</a></h3>
<p>In this section (previously 15.5), in step 5 (prevously 8)
of the font matching algorith, the UA is now allowed to use
multiple default fallback fonts to find a glyph for a given
character.</p>
<p>In the per-property rule 2, specified that if there is only
a small-caps font in a given family, then that font will be
selected by 'normal'.</p>
<h3 id="c15.3"><a name="q106">C.2.99 </a><a href="fonts.html#font-family-prop">Section 15.2.2 Font family</a></h3>
<p>The "missing character" glyph is no longer considered a match
for the last font in a font set, but is now considered a match
for U+FFFD.</p>
<p>Certain punctuation characters when appearing in unquoted font
family names are now required to be escaped.</p>
<h3 id="c15.5"><a name="q107">C.2.100 </a><a href="fonts.html#small-caps">Section 15.5
Small-caps</a></h3>
<p>The 'font-variant' property's effect is no longer restricted to
bicameral scripts.</p>
<h3 id="c15.6"><a name="q108">C.2.101 </a><a href="fonts.html#font-boldness">Section 15.6
Font boldness</a></h3>
<p>The computed value of 'font-weight' has been defined more
precisely such that the 'bolder' and 'lighter' values have an
appropriate effect when inheriting through elements with
different font-families.</p>
<h3 id="c15.7"><a name="q109">C.2.102 </a><a href="fonts.html#font-size-props">Section 15.7
Font size</a></h3>
<p>Removed suggestion of 1.2 fixed ratio between keyword font
sizes in favor of notes recommending a variable ratio and a
smallest font-size no less than 9 pixels per EM unit.</p>
<p>Added table mapping CSS font-size keywords to HTML font size numbers.</p>
<h3 id="c16"><a name="q110">C.2.103 </a><a href="text.html">Chapter 16 Text</a></h3>
<p>The 'text-shadow' property is not in CSS 2.1.
<h3 id="c16.2"><a name="q111">C.2.104 </a><a href="text.html#alignment-prop">Section 16.2
Alignment</a></h3>
<p>The initial value of 'text-align' is no longer UA-defined but
a nameless value that acts as 'left' if 'direction' is 'ltr',
'right' if 'direction' is 'rtl'.</p>
<p>The <string> value for 'text-align' is not part of
CSS 2.1.</p>
<p>For 'text-align', specified that 'justify' is treated as the initial
value when computed value of 'white-space' is 'pre' or 'pre-line'.</p>
<h3 id="c16.3.1"><a name="q112">C.2.105 </a><a href="text.html#lining-striking-props">Section 16.3.1
Underlining, over lining, striking, and blinking</a></h3>
<p>More precisely defined what boxes are affected by text decorations
specified on a given element.</p>
<p>Specified that underlines, overlines, and line-throughs apply only to
text.</p>
<p>Specified that an underline, overline, or line-through applied across
a line must be at a constant vertical position and with a constant
thickness across the entire line.</p>
<p>Specified how text decorations are affected by relative positioning
on descendants.</p>
<p>User agents are now allowed to recognize the 'blink' value but not
blink, whereas before they were required to ignore the 'blink' value
if they chose not to support blinking text.</p>
<p>Added text to allow older UAs to conform to this section if they
follow CSS2's 'text-decoration' requirements but not the additional
requirements in CSS2.1.</p>
<h3 id="c16.4"><a name="q113">C.2.106 </a><a href="text.html#spacing-props">Section 16.4
Letter and word spacing</a></h3>
<p>Support for the various values of 'letter-spacing' and 'word-spacing'
is no longer optional.</p>
<p>Specified that word spacing affects each space, non-breaking space,
and ideographic space left in the text after white space processing
rules have been applied.</p>
<h3 id="c16.5"><a name="q114">C.2.107 </a><a href="text.html#caps-prop">Section 16.5
Capitalization</a></h3>
<p>UAs are no longer allowed to not transform characters for which there
is an appropriate transformation but which are outside of Latin-1.</p>
<h3 id="c16.6"><a name="q115">C.2.108 </a><a href="text.html#white-space-prop">Section 16.6
White space</a></h3>
<p>The 'white-space' property now applies to all elements, not just
to block-level elements.</p>
<p>"\A" in generated content no longer forces a break for 'normal'
and 'nowrap' values of 'white-space'.</p>
<p>Specified that the CSS white space processing model assumes all
newlines have been normalized to line feeds.</p>
<p>Added <a href="text.html#white-space-model">section 16.6.1</a> to precisely define
white space handling.</p>
<p>Added <a href="text.html#ctrlchars">section 16.6.3</a> to specify handling
of control and combining characters.</p>
<h3 id="c17"><a name="q116">C.2.109 </a><a href="tables.html">Chapter 17
Tables</a></h3>
<p>Moved all discussion of aural rendering and related properties
to Appendix A.</p>
<p>Updated prose to use the terms "specified", "computed" and "used"
as appropriate when referencing values. (See <a href="changes.html#c6.1">changes
to section 6.1</a>.)</p>
<h3 id="c17.2"><a name="q117">C.2.110 </a><a href="tables.html#table-display">Section 17.2 The CSS table model</a></h3>
<p>Defined handling of multiple 'table-header-group' and 'table-footer-group'
elements.</p>
<p>UAs are no longer allowed to ignore the table display values
on arbitrary HTML elements, only on HTML table elements.</p>
<h3 id="c17.2.1"><a name="q118">C.2.111 </a><a href="tables.html#anonymous-boxes">Section 17.2.1
Anonymous table objects</a></h3>
<p>Changed rules so that internal table elements without an enclosing
'table' or 'inline-table' box generate an anonymous 'inline-table'
rather than an anonymous 'table' when inside a "display: inline"
parent element.</p>
<p>The anonymous table object rules now treat anonymous boxes as equal
to elements' boxes. Replaced several instances of the term "element" with
"box", removed several instances of "(in the document tree)" and clarified
that anonymous boxes generated in earlier rules are part of the input to
later rules. Also replaced the term "object" with "box", as is used
throughout the rest of the specification.</p>
<p>HTML UAs are no longer exempt from the anonymous box generation rules.</p>
<h3 id="c17.4"><a name="q119">C.2.112 </a><a href="tables.html#model">Section 17.4
Tables in the visual formatting model</a></h3>
<p>The relationship of the caption box, table box, and outer anonymous
table box has been changed as follows:</p>
<ul>
<li>The margins of the table box now apply to the outer (anonymous)
table box that encloses both the table box and the caption(s),
not to the inner table box.</li>
<li>The width of the anonymous box is now equal to the border-box
width of the table box inside it instead of adapting to the widths
and positions of both the table box and its captions.</li>
</ul>
<h3 id="c17.4.1"><a name="q120">C.2.113 </a><a href="tables.html#caption-position">Section 17.4.1
Caption position and alignment</a></h3>
<p>The 'left' and 'right' values on 'caption-side' have been removed.</p>
<h3 id="c17.5"><a name="q121">C.2.114 </a><a href="tables.html#table-layout">Section 17.5
Visual layout of table contents</a></h3>
<p>Changed rule 5 in grid layout rules to allow overlapping of
table cells instead of leaving skipping a gap in the grid to
avoid overlap.</p>
<h3 id="c17.5.1"><a name="q122">C.2.115 </a><a href="tables.html#table-layers">Section 17.5.1
Table layers and transparency</a></h3>
<p>In point 6, changed 'These "empty" cells are transparent' to:
<blockquote>
<p>If the value of their 'empty-cells' property is 'hide'
these "empty" cells are transparent through the cell, row, row group,
column, and column group backgrounds, letting the table background
show through.</blockquote>
<h3 id="c17.5.2.1"><a name="q123">C.2.116 </a><a href="tables.html#fixed-table-layout">Section 17.5.2.1
Fixed table layout</a></h3>
<p>Specified that in fixed table layout, extra columns in rows
after the first must not be rendered.</p>
<h3 id="c17.5.2.2"><a name="q124">C.2.117 </a><a href="tables.html#auto-table-layout">Section 17.5.2.2
Automatic table layout</a></h3>
<p>Restricted inputs to the table layout algorithm for 'table-layout: auto',
whether or not the algorithm described in this section is used, to the
width of the containing block and the content of, and any CSS properties
set on, the table and any of its descendants.</p>
<p>Added rule 4 to include the column group's width in the algorithm
for determining column widths.</p>
<h3 id="c17.5.3"><a name="q125">C.2.118 </a><a href="tables.html#height-layout">Section 17.5.3
Table height algorithms</a></h3>
<p>The 'height' property on tables is now treated as a mininimum
height; the UA no longer has the option of using 'height' to
constrain the size of the table to be smaller than its contents.</p>
<p>Percentage heights on table cells, rows, and row groups now
compute to 'auto'.</p>
<p>The baseline of a cell is now defined much more precisely.</p>
<p>Defined the baseline of a row with no baseline-aligned cells.</p>
<h3 id="c17.5.4"><a name="q126">C.2.119 </a><a href="tables.html#column-alignment">Section 17.5.4
Horizontal alignment in a column</a></h3>
<p>The <string> value for 'text-align' is not part of
CSS 2.1.</p>
<h3 id="c17.6"><a name="q127">C.2.120 </a><a href="tables.html#borders">Section 17.6
Borders</a></h3>
<p>Several popular browsers assume an initial value for
'border-collapse' of 'separate' rather than 'collapse' or exhibit
behavior that is close to that value, even if they do not actually
implement the CSS table model. 'Separate' is now the initial value.</p>
<h3 id="c17.6.1"><a name="q128">C.2.121 </a><a href="tables.html#separated-borders">Section 17.6.1
The separated borders model</a></h3>
<p>Specified the effect of padding on the table element.</p>
<p>Specified which parts of the table are included in the width
measurement.</p>
<h3 id="c17.6.1.1"><a name="q129">C.2.122 </a><a href="tables.html#empty-cells">Section 17.6.1.1
Borders and Backgrounds around empty cells</a></h3>
<p>Refined definition of "empty" when used as a condition for the
'empty-cells' property so that it is not triggered when the cell
includes any child elements, even if they are empty.</p>
<p>The 'empty-cells' property now hides both borders and backgrounds,
not just borders.</p>
<p>Changed behavior of a row when it collapses due to 'empty-cells':
it is no longer treated as "display: none". Instead it is given zero
height and its associated border-spacing is eliminated.</p>
<h3 id="c17.6.2"><a name="q130">C.2.123 </a><a href="tables.html#collapsing-borders">Section 17.6.2
The collapsing border model</a></h3>
<p>The outer half of the table borders no longer lie in the margin area.
Specified which part of the table is considered the border are
in the collapsed borders model and how its width is calculated.
The edges of the box in which the table background is painted
is, however left explicitly undefined.</p>
<h3 id="c17.6.2.1"><a name="q131">C.2.124 </a><a href="tables.html#border-conflict-resolution">Section 17.6.2.1
Border conflict resolution</a></h3>
<p>Defined in rule 4 what happens when two elements of the same
type conflict and their borders have the same width and style.</p>
<h3 id="c18.1"><a name="q132">C.2.125 </a><a href="ui.html#cursor-props">Section 18.1 Cursors:
the 'cursor' property</a></h3>
<p>The size of cursors without an intrinsic size is now defined.
<h3 id="c18.4"><a name="q133">C.2.126 </a><a href="ui.html#dynamic-outlines">Section 18.4
Dynamic outlines</a></h3>
<p>Position of outline with respect to the border edge is now
only suggested, not required.</p>
<p>Conformant UAs are now allowed to ignore the 'invert' value.
In such UAs the initial value of 'outline-color' is the value of
the 'color' property.</p>
<h3 id="s-12"><a name="q134">C.2.127 </a><a href="generate.html">Chapter 12 Generated content,
automatic numbering, and lists</a></h3>
<p>The 'marker' value for 'display' does not exist in CSS 2.1
<h3 id="cA"><a name="q135">C.2.128 </a><a href="aural.html">Appendix A. Aural style
sheets</a></h3>
<p>Chapter 19 on aural style sheets has become appendix A and is not
normative in CSS 2.1. Related units (deg, grad, rad, ms, s, Hz,
kHz) are also moved to this appendix, as is the 'speak-header'
property from the "tables" chapter and other notes on aural table
rendering. The 'aural' media type is deprecated in favor of the new
'speech' media type.</p>
<h3 id="cA.5"><a name="q136">C.2.129 </a><a href="aural.html#pause-props">Appendix A Section 5 Pause properties</a></h3>
<p>Changed the initial value of 'pause-before' and 'pause-after' to
be 0 instead of UA-defined.</p>
<p>A note has been added to this section (formerly 19.4) about the change
in position and behavior of pauses in CSS3 Speech compared to this appendix.</p>
<h3 id="cA.6"><a name="q137">C.2.130 </a><a href="aural.html#cue-props">Appendix A Section 6 Cue properties</a></h3>
<p>This section (formerly Section 19.5) now specifies the placement
of cues and pauses with respect to the :before and :after pseudo-elements.</p>
<h3 id="cA.7"><a name="q138">C.2.131 </a><a href="aural.html#mixing-props">Appendix A Section 7
Mixing properties</a></h3>
<p>The keywords 'mix' and 'repeat' may now appear in either order.</p>
<h3 id="cB"><a name="q139">C.2.132 </a><a href="refs.html">Appendix B
Bibliography</a></h3>
<p>Various references in Appendix B (formerly Appendix E) have been
updated as appropriate.</p>
<p>Switched [CSS1] from Normative to Informative.</p>
<p>Updated URI reference from [RFC1808] and the draft-fielding-uri-syntax-01.txt
to [RFC3986].</p>
<p>Updated HTTP reference from [RFC2068] to [RFC2616].</p>
<p>Removed normative references to [IANA] and [ICC32].<p>
<p>Added normative references to [ICC42], [RFC3986], [RFC2070], [UAAG10].</p>
<p>Added informative references to CSS2, CSS3 Color, CSS3 Lists,
Selectors, CSS3 Speech, DOM 3 Core, MathML 2, P3P, RFC1630, SVG 1.1,
XHTML 1, XML ID, and XML Namespaces.</p>
<p>Removed informative references to [ISO10179] (DSSSL), [INFINIFONT],
[ISO9899] (C), [MONOTYPE], [NEGOT], [OPENTYPE], [PANOSE], [PANOSE2],
[POSTSCRIPT], [RFC1866] (HTML 2), [RFC1942] (HTML Tables), [TRUETYPEGX],
[W3CStyle].</p>
<p>Updated language tags references from [RFC1766] to [3066].</p>
<h3 id="other"><a name="q140">C.2.133 Other</a></h3>
<p>The former informative appendix C, "Implementation and
performance notes for fonts," is left out of CSS 2.1.
<h2>C.3 <a name="known-errors">Errors</a></h2>
<h3 id="x-shorthand-inherit"><a name="q142">C.3.1 Shorthand properties</a></h3>
<p>Shorthand properties take a list of subproperty values <em>or</em>
the value 'inherit'. One cannot mix 'inherit' with other subproperty
values as it would not be possible to specify the subproperty to which
'inherit' applied. The definitions of a number of shorthand properties
did not enforce this rule: 'border-top', 'border-right',
'border-bottom', 'border-left', 'border', 'background', 'font',
'list-style', 'cue', and 'outline'.
<h3 id="x-applies-table"><a name="q143">C.3.2 Applies to</a></h3>
<p>The "applies to" line of many property definitions has been made more
accurate by excluding or including table display types where appropriate.</p>
<h3 id="x4.1.1"><a name="q144">C.3.3 </a><a href="syndata.html#tokenization">Section 4.1.1</a> (and
<a href="grammar.html#grammar">G2</a>)</h3>
<p>DELIM should not have included single or double quote. Refer also
to section 4.1.6 on strings, which must have matching single or
double quotes around them.
<p>Removed "A-Z" from the "nmchar" token: as CSS is case insensitive
anyway, it was redundant.</p>
<p>Corrected "unicode" macro to treat CRLF as a single character.</p>
<p>Corrected "block" production to allow white space between declarations.</p>
<p>In the rule for "any" (in the core syntax), corrected "FUNCTION"
to "FUNCTION any* ')'".</p>
<h3 id="x4.1.3"><a name="q145">C.3.4 </a><a href="syndata.html#characters">Section 4.1.3
Characters and case</a></h3>
<p>Corrected third paragraph to say that an '@import' rule can only be
preceeded by an '@charset' rule or other '@import' rules.</p>
<h3 id="x4.3"><a name="q146">C.3.5 </a><a href="syndata.html#values">Section 4.3 (Double sign problem)</a></h3>
<p>Several values described in subsections of this section
incorrectly allowed two "+" or "-" signs at their beginnings.
<h3 id="x4.3.2"><a name="q147">C.3.6 </a><a href="syndata.html#length-units">Section 4.3.2
Lengths</a></h3>
<p>Fixed double sign error in definition of <length>.
(<number> already has a sign.)</p>
<p>Corrected the suggested reference pixel to be based on a
<ins>96 dpi</ins> device, not 90 dpi. The visual angle is
thus about <ins>0.0213 degrees</ins> instead of 0.0227, and a pixel
at arm's length is about <ins>0.26 mm</ins> instead of 0.28
<p>Corrected last sentence to refer to a unsupported <em>used</em>
length, not an unsupported specified length.</p>
<h3 id="x4.3.3"><a name="q148">C.3.7 </a><a href="syndata.html#percentage-units">Section 4.3.3
Percentages</a></h3>
<p>Fixed double sign error in definition of <percentage>.
(<number> already has a sign.)</p>
<h3 id="x4.3.4"><a name="q149">C.3.8 </a><a href="syndata.html#uri">Section 4.3.4
URLs and URIs</a></h3>
<p>Defined escaping requirements in terms of the URI token so that
no escaping requirements are missing from the prose.</p>
<p>Included invalid URIs in last paragraph about URI error handling.</p>
<h3 id="x4.3.5"><a name="q150">C.3.9 </a><a href="syndata.html#counter">Section 4.3.5
Counters</a></h3>
<p>Corrected syntax of counter() and counters() notation to allow white space
between tokens.</p>
<h3 id="x4.3.6"><a name="q151">C.3.10 </a><a href="syndata.html#color-units">Section 4.3.6
Colors</a></h3>
<p>Deleted the comments about range
restriction after the following examples:
<pre>
em { color: rgb(255,0,0) }
em { color: rgb(100%, 0%, 0%) }
</pre>
<h3 id="x4.3.7"><a name="q152">C.3.11 </a><a href="syndata.html#strings">Section 4.3.7
Strings</a></h3>
<p>(Formerly section 4.3.10) Corrected text to allow all forms of Unicode
escapes for U+000A, not just the "\A" form, for including newlines in
strings.</p>
<h3 id="x5.10"><a name="q153">C.3.12 </a><a href="selector.html#pseudo-elements">Section 5.10
Pseudo-elements and pseudo-classes</a></h3>
<p>In the second bullet, added that the ':lang()' pseudo-class can also
be deduced from the document in some cases.</p>
<h3 id="x6.4"><a name="q154">C.3.13 </a><a href="cascade.html#cascade">Section 6.4 The cascade</a></h3>
<p>Removed paragraph about imported style sheets being overridden by
rules in the importing style sheet: imported style rules follow the
cascade as specified in <a href="cascade.html#cascading-order">6.4.1
Cascading order</a>, exactly as if they were inserted in place of the
@import rule.</p>
<h3 id="x8.1"><a name="q155">C.3.14 </a><a href="box.html#box-dimensions">Section 8.1 Box Dimensions</a></h3>
<p>The definition of "content edge" has been changed to depend on 'width'
and 'height' rather than directly on 'rendered content'.</p>
<p>From the definition of "padding edge", deleted the sentence "The
padding edge of a box defines the edges of the containing block
established by the box." For information about containing
blocks, consult <a href="visudet.html#containing-block-details">
Section 10.1</a>.</p>
<h3 id="x8.2"><a name="q156">C.3.15 </a><a href="box.html#mpb-examples">Section 8.2 Example of margins, padding, and borders</a></h3>
<p>The colors in the example HTML did not match the colors in the
image.
<h3 id="x8.5.4"><a name="q157">C.3.16 </a><a
href="box.html#border-shorthand-properties">Section 8.5.4
Border shorthand properties</a></h3>
<p>Changedvarious border shorthands' syntax definitions to use the
<border-width>, <border-style> and <'border-top-color'>
value types as appropriate.</p>
<h3 id="x9.2.1"><a name="q158">C.3.17 </a><a href="visuren.html#containing-block">Section 9.2.1
Block-level elements and block boxes</a></h3>
<p>Excepted table elements from second paragraph about principal block
boxes and their contents.</p>
<p>Corrected sentence to say "either only block boxes or only inline
boxes" instead of "only block boxes".</p>
<h3 id="x9.3.1"><a name="q159">C.3.18 </a><a href="visuren.html#choose-position">Section 9.3.1
Choosing a positioning scheme</a></h3>
<p>In the definition of "position: static", added 'right' and 'bottom'
to the sentence saying that 'top' and 'left' do not apply.</p>
<h3 id="x9.3.2"><a name="q160">C.3.19 </a><a href="visuren.html#position-props">Section 9.3.2
Box offsets</a></h3>
<p>The properties 'top', 'right', 'bottom', and 'left', incorrectly
referred to offsets with respect to a box's content edge. The proper edge
is the margin edge. Thus, for 'top', the description now reads:
"This property specifies how far a box's top margin edge is offset
below the top edge of the box's containing block."
<p>Corrected text under property definitions to say that for
relatively-positioned elements, 'top', 'right', 'bottom', and 'left'
define the offset from the box's position in the normal flow, not
from the edges of the containing block. (The previous definition
conflicted with that was further down; since that text is now
redundant, it has been removed.)</p>
<h3 id="x9.4.1"><a name="q161">C.3.20 </a><a href="visuren.html#block-formatting">Section 9.4.1
Block formatting contexts</a></h3>
<p>In paragraph about relationship of a box's outer edges to its
containing block's edges, corrected parenthetical to say that
<em>line boxes</em>, not the <em>content area</em>, may shrink due
to floats.</p>
<h3 id="x9.4.2"><a name="q162">C.3.21 </a><a href="visuren.html#inline-formatting">Section 9.4.2
Inline formatting context</a></h3>
<p>Added "and the presence of floats" to "The width of a line box is
determined by a containing block".</p>
<h3 id="x9.4.3"><a name="q163">C.3.22 </a><a href="visuren.html#relative-positioning">Section 9.4.3
Relative positioning</a></h3>
<p>In the first paragraph, added "or floated" to the phrase "laid out
according to the normal flow" as floated elements can be relatively
positioned but are not part of the normal flow.</p>
<h3 id="x9.5"><a name="q164">C.3.23 </a><a href="visuren.html#floats">Section 9.5
Floats</a></h3>
<p>Corrected sentence about not enough horizontal room for the float
to say that it is shifted downward until either it fits <em>or there
are no more floats present</em>.</p>
<h3 id="x9.5.1"><a name="q165">C.3.24 </a><a href="visuren.html#float-position">Section 9.5.1
Positioning the float</a></h3>
<p>Correct "Applies to" line and prose to say that the 'float' property
can be set for any element but only applies to elements that are not
absolutely positioned.</p>
<h3 id="x9.5.2"><a name="q166">C.3.25 </a><a href="visuren.html#flow-control">Section 9.5.2
Controlling flow next to floats</a></h3>
<p>Removed sentence saying that 'clear' may only be specified for
block-level elements: it can be specified for any element, it only
<em>applies to</em> block-level elements.</p>
<h3 id="x9.6"><a name="q167">C.3.26 </a><a href="visuren.html#absolute-positioning">Section 9.6
Absolute positioning</a></h3>
<p>Corrected sentence that said absolutely positioned boxes establish
a new containing block for absolutely positioned descendants to
except fixed positioned descendants.</p>
<h3 id="x9.7"><a name="q168">C.3.27 </a><a href="visuren.html#dis-pos-flo">Section 9.7
Relationships between 'display', 'position', and 'float'</a></h3>
<p>In rule 1, corrected "user agents must ignore 'position' and 'float"
to "'position' and 'float' do not apply".</p>
<h3 id="x9.10"><a name="q169">C.3.28 </a><a href="visuren.html#direction">Section 9.10
Text direction</a></h3>
<p>Corrected note about 'direction' on table column elements to say
that "columns are not the ancestors of the cells in the document tree"
rather than saying "columns don't exist in the document tree".</p>
<p>Added table cells, table captions, and inline blocks alongside
block-level elements in description of 'bidi-override' value. Also
corrected the prose to handle anonymous child blocks.</p>
<p>Updated mention of Unicode's embedding limit from 15 to 61.</p>
<h3 id="x10.1"><a name="q170">C.3.29 </a><a href="visudet.html#containing-block-details">Section 10.1
Definition of "containing block"</a></h3>
<p>Included table cells (and inline blocks) together with block-level elements
in rule 2 defining the containing block of non-absolutely-positioned elements.</p>
<h3 id="x10.3.3"><a name="q171">C.3.30 </a><a href="visudet.html#blockwidth">Section 10.3.3
Block-level, non-replaced elements in normal flow</a></h3>
<p>In the last sentence of the paragraph following the equation
("If the value of 'direction' is 'ltr', this happens to
'margin-left' instead") substituted 'rtl' for 'ltr'.</p>
<h3 id="x10.4"><a name="q172">C.3.31 </a><a href="visudet.html#min-max-widths">Section 10.4
Minimum and maximum widths</a></h3>
<p>The initial value for 'min-width' is now '0' rather than UA-dependent.</p>
<p>Corrected "applies to" exception for both 'min-width' and 'max-width'
from "table elements" to "table rows and row groups".</p>
<p>Specified that negative values for 'min-width' and 'max-width' are
illegal.</p>
<h3 id="x10.6.3"><a name="q173">C.3.32 </a><a href="visudet.html#normal-block">Section 10.6.3
Block-level non-replaced elements in normal flow when 'overflow'
computes to 'visible'</a></h3>
<p>Added that 'auto' height also depends on whether the element has
padding or borders, as these influence margin-collapsing behavior.</p>
<p>Added text to correctly account for margin collapsing behavior.</p>
<h3 id="x10.7"><a name="q174">C.3.33 </a><a href="visudet.html#min-max-heights">Section 10.7
Minimum and maximum heights</a></h3>
<p>Corrected "applies to" exception for both 'min-width' and 'max-width'
from "table elements" to "table columns and column groups".</p>
<p>Specified that negative values for 'min-height' and 'max-height'
are illegal.</p>
<h3 id="x11.1.1"><a name="q175">C.3.34 </a><a href="visufx.html#overflow">Section 11.1.1
Overflow</a></h3>
<p>Corrected "applies to" line for 'overflow' from "block-level and
replaced elements" to "non-replaced block-level elements, table cells,
and inline-block elements".</p>
<p>The example of a DIV element containing a BLOCKQUOTE containing
another DIV was not rendered correctly. The first style rule applied
to both DIVs, so the second DIV box should have been rendered with a
red border as well. The second DIV has now been changed to a CITE,
which doesn't have a red border.
<h3 id="x11.1.2"><a name="q176">C.3.35 </a><a href="visufx.html#clipping">Section 11.1.2 Clipping:
the 'clip' property</a></h3>
<p>Corrected "rect (<top> <right> <bottom> <left>)" to
"rect(<top>, <right>, <bottom>, <left>)".</p>
<h3 id="x11.2"><a name="q177">C.3.36 </a><a href="visufx.html#overflow-clipping ">Section 11.2
Visibility</a></h3>
<p>Corrected initial value of 'visibility' to 'visible'.</p>
<h3 id="x12.4.2"><a name="q178">C.3.37 </a><a href="generate.html#counter-styles">Section 12.4.2 Counter
styles</a></h3>
<p>The example used the style 'hebrew', which doesn't exist in CSS
level2. Changed to 'lower-greek'.
<h3 id="x12.6.2"><a name="q179">C.3.38 </a><a href="generate.html#list-style">Section 12.6.2 Lists</a></h3>
<p>Under the 'list-style' property, the example:</p>
<pre>
ul > ul { list-style: circle outside } /* Any UL child of a UL */
</pre>
<p>could never match valid HTML markup (since a UL element
cannot be a child of another UL element). An LI has been inserted in
between.
<h3 id="x14.2"><a name="q180">C.3.39 </a><a href="colors.html#background">Section 14.2 The background</a></h3>
<p>Second sentence: "In terms of the box model, 'background' refers to
the background of the content and the padding areas" now also
mentions the border area. (See also <a href="changes.html#x8.1">errata to section
8.1</a> above.) Thus:
<blockquote>
<p>In terms of the box model, "background" refers to the background of
the content, padding and border areas.
</blockquote>
<h3 id="x14.2.1"><a name="q181">C.3.40 </a><a href="colors.html#background-properties">Section 14.2.1
Background properties</a></h3>
<p>Under 'background-image', defined the image tile size used when
the background image has intrinsic sizes specified in percentages
or no intrinsic size.</p>
<p>Under 'background-repeat',
the sentence "All tiling covers the content and padding areas [...]"
has been corrected to
<blockquote><p>"All tiling covers the content, padding <ins>and
border</ins> areas [...]".</blockquote>
<p>Under 'background-attachment', the value 'scroll' is defined to
scroll with the "containing block" rather than with the "document".
Also the sentence "Even if the image is fixed [...] background or padding
area of the element" has been corrected to
<blockquote><p>Even if the image is fixed, it is still only visible
when it is in the background, padding <ins>or border</ins> area of the
element.</blockquote>
<h3 id="x15.2"><a name="q182">C.3.41 </a><a href="fonts.html#algorithm">Section 15.2 Font
matching algorithm</a></h3>
<p>In bullet 2, changed "the UA uses the 'font-family' descriptor"
to "the UA uses the 'font-family' property".
<h3 id="x15.7"><a name="q183">C.3.42 </a><a href="fonts.html#font-size-props">Section 15.7
Font size</a></h3>
<p>The statement "Negative values are not allowed" for 'font-size'
now applies to percentages as well as lengths.</p>
<h3 id="x16.1"><a name="q184">C.3.43 </a><a href="text.html#indentation-prop">Section 16.1
Indentation</a></h3>
<p>Corrected 'text-indent' to apply to table cells (and inline blocks)
as well as block-level elements.</p>
<h3 id="x16.2"><a name="q185">C.3.44 </a><a href="text.html#alignment-prop">Section 16.2
Alignment</a></h3>
<p>Corrected 'text-align' to apply to table cells (and inline blocks)
as well as block-level elements.
<p>Changed prose about the effect of 'justify' to be less correct.</p>
<p>Corrected the note to say that justification is also dependent
on the script, not just the language, of the text.</p>
<h3 id="x17.2"><a name="q186">C.3.45 </a><a href="tables.html#table-display">Section 17.2 The CSS table
model</a></h3>
<p>In the definition of <strong>table-header-group</strong>, changed
"footer" to "header" in "Print user agents may repeat footer rows on
each page spanned by a table."
<h3 id="x17.2.1"><a name="q187">C.3.46 </a><a href="tables.html#anonymous-boxes">Section 17.2.1
Anonymous table objects </a></h3>
<p>Added 'table-header-group' and 'table-footer-group' alongside
mentions of 'table-row-group' where missing.</p>
<p>Corrected 'caption' to 'table-caption'.</p>
<p>Added missing rule (#3) for 'table-column' boxes.</p>
<p>Added 'table-caption' and 'table-column-group' to list of boxes
requiring a 'table' or 'inline-table' parent in rule 4.</p>
<p>Added rules 5 and 6 to generate 'table-row' boxes where necessary
for children of 'table'/'inline-table' and
'table-row-group'/'table-header-group'/'table-footer-group' boxes.</p>
<h3 id="x17.4"><a name="q188">C.3.47 </a><a href="tables.html#model">Section 17.4
Tables in the visual formatting model</a></h3>
<p>Specified handling of multiple caption boxes.</p>
<p>Specified that the anonymous outer table box is a 'block'
box if the table is block-level and an 'inline-block' box if
the table is inline-level but that the anonymous outer table
box cannot accept run-ins.</p>
<h3 id="x17.5"><a name="q189">C.3.48 </a><a href="tables.html#table-layout">Section 17.5
Visual layout of table contents</a></h3>
<p>Correct text that said all internal table elements have
padding; change to say that of these only table cells have
padding.</p>
<p>The following note:</p>
<blockquote>
<p><strong>Note.</strong> Table cells may be relatively and absolutely positioned, but this is not recommended: positioning and floating remove a
box from the flow, affecting table alignment.
</p>
</blockquote>
<p>has been amended as follows:</p>
<blockquote>
<p><strong>Note.</strong> Table cells may be
positioned, but this is not recommended: absolute and fixed
positioning, as well as floating, remove a box from the flow, affecting
table size.
</p>
</blockquote>
<h3 id="x17.5.1"><a name="q190">C.3.49 </a><a href="tables.html#table-layers">Section 17.5.1
Table layers and transparency</a></h3>
<p>The rows and columns only cover the whole table in the collapsed
borders model, not in the separated borders model.
<p>The points 2, 3, 4 and 5 have been corrected to define the area
covered by rows, columns, row groups and column groups and thus the
positioning and painting of backgrounds on those elements.</p>
<p>Specify the handling of "missing cells".</p>
<h3 id="x17.6.1"><a name="q191">C.3.50 </a><a href="tables.html#separated-borders">Section 17.6.1
The separated borders model</a></h3>
<p>In the image, changed "cell-spacing" to "border-spacing".
<h3 id="x18.2"><a name="q192">C.3.51 </a><a href="ui.html#system-colors">Section 18.2 System
Colors</a></h3>
<p>For the 'ButtonHighlight' value, changed the description
from "Dark shadow" to "Highlight color".</p>
<h3 id="xE.2"><a name="q193">C.3.52 </a><a href="zindex.html#painting-order">Section E.2 Painting
order</a></h3>
<p>Changed "but any descendants which actually create a new stacking
context" to "but any <ins>positioned descendants and</ins> descendants
which actually create a new stacking context" (3 times).
<p>This change also occurred once in <a
href="visuren.html#floats">section 9.5 (Floats)</a> and once in
section <a href="visuren.html#layers">section 9.9 (Layered
presentation).</a>
<h2>C.4 <a name="clarifications">Clarifications</a></h2>
<h3 id="r2.1"><a name="q195">C.4.1 </a><a href="intro.html#html-tutorial">Section 2.1
A brief CSS 2.1 tutorial for HTML</a></h3>
<p>This section has been marked non-normative.</p>
<h3 id="r2.2"><a name="q196">C.4.2 </a><a
href="intro.html#xml-tutorial">Section 2.2
A brief CSS 2.1 tutorial for XML</a></h3>
<p>This section has been marked non-normative.</p>
<p>Added a statement about case-sensitivity of selectors for XML.</p>
<p>The specification for the <a
href="http://www.w3.org/1999/06/REC-xml-stylesheet-19990629/">XML
style sheet PI</a>
was written after CSS2 was finalized. The first line of the full XML
example should not have been be <code><?XML:stylesheet type="text/css"
href="bach.css"?></code>, but
<pre><?xml-stylesheet type="text/css" href="bach.css"?></pre>
<h3 id="r2.3"><a name="q197">C.4.3 </a><a href="intro.html#processing-model">Section 2.3
The CSS 2.1 processing model</a></h3>
<p>This section has been marked non-normative.
<h3 id="r3.1"><a name="q198">C.4.4 </a><a href="conform.html#defs">Section 3.1
Definitions</a></h3>
<p>Added a note to clarify that the deprecated/non-deprecated status
of a feature is distinct from its normative/non-normative status.</p>
<p>Under 'document language' clarified that CSS only describes the
presentation of a document language, and has no effect on its semantics.</p>
<p>Changed definition of 'replaced element' to "an element whose content
is outside the scope of the CSS formatting model" and added further clarifying
text. This clarifies that e.g. SVG images embedded in an XML document are
also considered replaced elements, not just those linked in from an outside
file. Also changed definition of 'rendered content' to be consistent with this
clarification.</p>
<p>Added under "Intrinsic dimension" that raster images without
reliable resolution information are assumed to have a size of 1 px
unit per image source pixel.
<p>Added definition for 'ignore'.</p>
<p>Added definition for 'HTML user agent'.</p>
<p>Added definition for 'property'.</p>
<h3 id="r4.1"><a name="q199">C.4.5 </a><a href="syndata.html#syntax">Section 4.1
Syntax</a></h3>
<p>Moved definitions of "immediately before" and "immediately after" forward
so they apply to the whole Syntax section.</p>
<p>Added sections 4.1.2.1 and 4.1.2.2 to defined vendor-specific
extensions.</p>
<h3 id="r4.1.1"><a name="q200">C.4.6 </a><a href="syndata.html#tokenization">Section 4.1.1
Tokenization</a></h3>
<p>Clarified that input that cannot be parsed according to the core syntax
is ignored according to the rules for handling parsing errors.</p>
<p>Clarified that input that cannot be tokenized or parsed has no meaning in
CSS2.1.</p>
<h3 id="r4.1.3"><a name="q201">C.4.7 </a><a href="syndata.html#characters">Section 4.1.3
Characters and case</a></h3>
<p>Clarified that when a CRLF pair terminates an escape sequence, the pair
is treated as a single white space character as <a href="changes.html#x4.1.1">corrected</a>
in the tokenization rules.</p>
<p>Replaced "[a-z0-9]" by "[a-zA-Z0-9]" as an extra reminder that CSS
identifiers are case-insensitive.
<h3 id ="r4.1.7"><a name="q202">C.4.8 </a><a href="syndata.html#declaration">Section 4.1.7
Rule sets, declaration blocks, and selectors</a></h3>
<p>Replaced the term "{}-block" with "declaration block".</p>
<h3 id="r4.2"><a name="q203">C.4.9 </a><a href="syndata.html#parsing-errors">Section 4.2
Rules for handling parsing errors</a></h3>
<p>Clarified that all property:value combinations and @-keywords that do not
contain an identifier beginning with dash or underscore are reserved by CSS
for future use.</p>
<p>Clarified that when something inside an at-rule is ignored because it is
invalid, this does not make the entire at-rule invalid.</p>
<p>Referenced section 4.1.7 for parsing invalid bits inside declaration
blocks.</p>
<h3 id="r4.3.1"><a name="q204">C.4.10 </a><a href="syndata.html#numbers">Section 4.3.1
Integers and real numbers</a></h3>
<p>Clarified that '-0' is equivalent to '0' and is not a negative number.</p>
<h3 id="r4.3.2"><a name="q205">C.4.11 </a><a href="syndata.html#length-units">Section 4.3.2
Lengths</a></h3>
<p>Clarified that negative length values on properties that don't allow them
cause the declaration to be ignored.</p>
<h3 id="r4.3.4"><a name="q206">C.4.12 </a><a href="syndata.html#uri">Section 4.3.4
URLs and URIs</a></h3>
<p>Reduced unnecessary discussion of what a URI is.</p>
<h3 id="r5.1"><a name="q207">C.4.13 </a><a href="selector.html#pattern-matching">Section 5.1
Pattern matching</a></h3>
<p>Added note about terminology change ("simple selector") between
CSS2 and CSS3.
<h3 id="r5.7"><a name="q208">C.4.14 </a><a href="selector.html#adjacent-selectors">Section 5.7
Adjacent sibling selectors</a></h3>
<p>Clarified that text nodes and comments do not affect whether a
sibling selector matches.
<h3 id="r5.8.1"><a name="q209">C.4.15 </a><a href="selector.html#matching-attrs">Section 5.8.1
Matching attributes and attribute values</a></h3>
<p>Clarified ~= and |= by using the definitions from the Selectors
module.
<h3 id="r5.8.2"><a name="q210">C.4.16 </a><a href="selector.html#default-attrs">Section 5.8.2
Default attribute values in DTDs</a></h3>
<p>Clarified that rules about default attribute values are the same,
whether the default is specified in a DTD or by other means.
<h3 id="r5.9"><a name="q211">C.4.17 </a><a href="selector.html#id-selectors">Section 5.9 ID
selectors</a></h3>
<p>Added a note that it depends on the document format which
attributes are ID attributes.
<h3 id="r5.11.3"><a name="q212">C.4.18 </a><a
href="selector.html#dynamic-pseudo-classes">Section 5.11.3 The
dynamic pseudo-classes: :hover, :active, and :focus</a></h3>
<p>Clarified that CSS 2.1 does <em>not</em> define if the parent
of an element that matches ':active' or ':hover' itself also matches
':active' or ':hover'.
<p>Added note that, in CSS1, ':active' only applies to links.
<h3 id="r5.11.4"><a name="q213">C.4.19 </a><a href="selector.html#lang">Section 5.11.4 The
language pseudo-class: :lang</a></h3>
<p>Added a note to show the differences between ':lang(xx)' and
'[lang=xx]'.
<h3 id="r5.12.2"><a name="q214">C.4.20 </a><a href="selector.html#first-letter">Section 5.12.2
The :first-letter pseudo-element</a></h3>
<p>Clarified that digits can also be first letter.
<h3 id="r6.2"><a name="q215">C.4.21 </a><a href="cascade.html#inheritance">Section 6.2 Inheritance</a></h3>
<p>Clarified that computed values are inherited (not specified values)
and that they become the specified value on the inheritor.</p>
<p>Removed discussion of "default" styles for a document.</p>
<h3 id="r6.2.1"><a name="q216">C.4.22 </a><a href="cascade.html#value-def-inherit">Section 6.2.1 The 'inherit' value</a></h3>
<p>Clarify that 'inherit' can be used on properties that are not normally inherited
and that when set on the root element, it has the effect of assigning the
property's initial value.</p>
<h3 id="r6.3"><a name="q217">C.4.23 </a><a href="cascade.html#at-import">Section 6.3 The @import rule</a></h3>
<p>Except @charset from the statement that @imports must precede all other rules.</p>
<h3 id="r6.4"><a name="q218">C.4.24 </a><a href="cascade.html#cascade">Section 6.4 The Cascade</a></h3>
<p>Obfuscated note about system settings and UA limitations.</p>
<h3 id="r6.4.1"><a name="q219">C.4.25 </a><a href="cascade.html#cascading-order">Section 6.4.1 Cascading order</a></h3>
<p>Various editorial changes to clarify sort order.</p>
<h3 id="r6.4.3"><a name="q220">C.4.26 </a><a href="cascade.html#specificity">Section 6.4.3 Calculating a
selector's specificity</a></h3>
<p>Added a note:
<blockquote><p>The specificity is based only on the form of the selector.
In particular, a selector of the form "<code>[id=p33]</code>" is
counted as an attribute selector (a=0, b=1, c=0), even if the
<code>id</code> attribute is defined as an "ID" in the source
document's DTD.
</blockquote>
<h3 id="r7.2.1"><a name="q221">C.4.27 </a><a href="media.html#at-media-rule">Section 7.2.1
The @media rule</a></h3>
<p>Clarify that Style rules outside of @media rules apply to the same
media types that the style sheet itself applies to.</p>
<h3 id="r7.3"><a name="q222">C.4.28 </a><a href="media.html#media-types">Section 7.3 Recognized
media types</a></h3>
<p>Added text to clarify that media types are mutually exclusive,
but a UA can render simulatenously to canvases with different
media types.</p>
<h3 id="r7.3.1"><a name="q223">C.4.29 </a><a href="media.html#media-groups">Section 7.3.1
Media groups</a></h3>
<p>Split "aural" media group into "audio" and "speech".</p>
<h3 id="r8.1"><a name="q224">C.4.30 </a><a href="box.html#box-dimensions">Section 8.1 Box dimensions</a></h3>
<ul>
<li>The terms "content box", "padding box", "border box", and "margin box"
have been defined.
<li>Border backgrounds are not specified by border properties. Changed
the last paragraph of 8.1 to:
<blockquote>
<p>The background style of the content, padding, and border areas of a
box is specified by the <a href="colors.html#propdef-background" class="noxref"><span
class="propinst-background">'background'</span></a> property of the
generating element. Margin backgrounds are always transparent.
</blockquote>
<li>Removed definition of "box width" and "height".
</ul>
<h3 id="r8.3"><a name="q225">C.4.31 </a><a href="box.html#margin-properties">Section 8.3 Margin properties</a></h3>
<p>Added a sentence to note that vertical margins have no effect on non-replaced
inline elements.</p>
<h3 id="r8.3.1"><a name="q226">C.4.32 </a><a href="box.html#collapsing-margins">Section 8.3.1
Collapsing margins</a></h3>
<p>Changed "absolute maximum" to "maximum of the absolute values" in
sentence about negative margins collapsing.</p>
<p>Added this clarifying note to the first bullet of the explanation
of vertical collapsing of margins:</p>
<blockquote>
<p><strong>Note.</strong> Adjoining boxes may be generated by
elements that are not related as siblings or ancestors.
</blockquote>
<p>Emphasized that floating elements' margins do not collapse even between a float
and its in-flow children.</p>
<p>Emphasized that absolutely positioned elements' margins do not collapse even between
the positioned element and its in-flow children.</p>
<h3 id="r8.5.3"><a name="q227">C.4.33 </a><a href="box.html#border-style-properties">Section 8.5.3
Border style</a></h3>
<p>Changed description of 'none' value to not imply that all four border
widths are set to zero.</p>
<h3 id="r9.1.1"><a name="q228">C.4.34 </a><a href="visuren.html#viewport">Section 9.1.1
The viewport</a></h3>
<p>Changed the sentence "When the viewport is smaller than the ..., the user
agent should offer a scrolling mechanism" to use "area of the canvas on
which the document is rendered" instead of "document's initial containing
block".</p>
<h3 id="r9.2.4"><a name="q229">C.4.35 </a><a href="visuren.html#display-prop">Section 9.2.4 The
'display' property</a></h3>
<p>Clarified that 'display: none' also applies to non-visual media.
<h3 id="r9.3.1"><a name="q230">C.4.36 </a><a href="visuren.html#choose-position">Section 9.3.1
Choosing a positioning scheme</a></h3>
<p>Clarified that the margins of fixed positioned boxes do not collapse
with any other margins.</p>
<p>Clarified that in print media fixed boxes are rendered on every page.</p>
<h3 id="r9.3.2"><a name="q231">C.4.37 </a><a href="visuren.html#position-props">Section 9.3.2
Box offsets</a></h3>
<p>Clarified that negative lengths and percentages are allowed as values
of 'top', 'right', 'bottom', and 'left'.</p>
<p>Added "For replaced elements, the effect of this value depends only
on the intrinsic dimensions of the replaced content. See the sections
on the width and height of absolutely positioned, replaced elements
for details." to the definition of 'auto' because that's not what
chapter 10 says at all.</p>
<h3 id="r9.4.2"><a name="q232">C.4.38 </a><a href="visuren.html#inline-formatting">Section 9.4.2
Inline formatting context</a></h3>
<p>Clarified that 'justify' stretches "spaces and words in inline boxes";
previous text simply said that it stretches "inline boxes".</p>
<p>The statement "When an inline box is split, margins, borders, and
padding have no visual effect where the split occurs." has been
generalized. Margins, borders, and padding have no visual effect
where one or more splits occur.</p>
<p>Clarified that an inline box that exceeds the width of a line box
and cannot be split therefore overflows the line box.</p>
<p>Removed sentence about formatting of margins, borders, and padding
for split inline boxes not being fully defined when affected by bidi
as that situation is now defined in <a href="box.html#bidi-box-model">section
8.6</a>.</p>
<h3 id="r9.4.3"><a name="q233">C.4.39 </a><a href="visuren.html#relative-positioning">Section 9.4.3
Relative positioning</a></h3>
<p>Clarified that although relative positioning normally doesn't
directly affect layout, it may affect layout indirectly through
the creation of scrollbars.</p>
<p>Relatively positioned boxes do not always establish new containing
blocks. Changed the second paragraph to refer to the section on
containing blocks accordingly.</p>
<p>The paragraph about dynamic movement and superscripting has been
shifted into a non-normative note.</p>
<h3 id="r9.5"><a name="q234">C.4.40 </a><a href="visuren.html#floats">Section 9.5
Floats</a></h3>
<p>Clarified that line boxes are shortened to make room for the
<em>margin box</em> of the float.</p>
<p>Added some text to clarify what "Any content in the current line before
a floated box is reflowed in the first available line on the other side of
the float" means.</p>
<p>Clarified floats' position in the stacking order.</p>
<h3 id="r9.5.1"><a name="q235">C.4.41 </a><a href="visuren.html#float-position">Section 9.5.1
Positioning the float</a></h3>
<p>Clarified that the elements referenced in the float behavior
rules are in the same block formatting context as the float.</p>
<h3 id="r9.5.2"><a name="q236">C.4.42 </a><a href="visuren.html#flow-control">Section 9.5.2
Controlling flow next to floats</a></h3>
<p>Clarified that the effects of 'clear' do not consider floats
in other block formatting contexts.</p>
<h3 id="r9.8"><a name="q237">C.4.43 </a><a href="visuren.html#comparison">Section 9.8
Comparison of normal flow, floats, and absolute positioning</a></h3>
<p>Added a note to clarify that the images in this section are not
drawn to scale and are illustrations, not reference renderings.</p>
<h3 id="r10.1"><a name="q238">C.4.44 </a><a href="visudet.html#containing-block-details">Section 10.1
Definition of "containing block"</a></h3>
<p>Noted that a containing block formed by inline elements may wind up
with a negative containing block width.</p>
<h3 id="r10.2"><a name="q239">C.4.45 </a><a href="visudet.html#the-width-property">Section 10.2
Content width</a></h3>
<p>In the definition of <length> values for the 'width' property,
changed "Specifies a fixed width" to "Specifies the width of the content
area using a length unit".</p>
<h3 id="r10.3.3"><a name="q240">C.4.46 </a><a href="visudet.html#blockwidth">Section 10.3.3
Block-level, non-replaced elements in normal flow</a></h3>
<p>Clarified that setting both left and right margins to 'auto'
horizontally centers the element within its containing block.</p>
<h3 id="r10.3.8"><a name="q241">C.4.47 </a><a href="visudet.html#abs-replaced-width">Section 10.3.8
Absolutely positioning, replaced elements</a></h3>
<p>Clarified which part of the text of section 10.3.7 is re-used.
<h3 id="r10.4"><a name="q242">C.4.48 </a><a href="visudet.html#min-max-widths">Section 10.4
Minimum and maximum widths</a></h3>
<p>Clarified that 'min-width' and 'max-width' do not affect the
computed values of any properties. (They only affect the used value.)</p>
<h3 id="r10.6.1"><a name="q243">C.4.49 </a><a href="visudet.html#Computing_heights_and_margins">Section 10.6
Calculating heights and margins</a></h3>
<p>Clarified that these rules apply to the root element just as to
any other element.</p>
<h3 id="r10.7"><a name="q244">C.4.50 </a><a href="visudet.html#min-max-heights">Section 10.7
Minimum and maximum heights</a></h3>
<p>Clarified that 'min-width' and 'max-width' do not affect the
computed values of any properties. (They only affect the used value.)</p>
<h3 id="r10.8"><a name="q245">C.4.51 </a><a href="visudet.html#line-height">Section 10.8
Line height calculations</a></h3>
<p>Removed clarifying note about line height being taller than tallest
single inline box due to vertical alignment.</p>
<h3 id="r10.8.1"><a name="q246">C.4.52 </a><a href="visudet.html#leading">Section 10.8.1 Leading
and half-leading</a></h3>
<p>Removed "slightly" from the note "Values of this property have
<del>slightly</del> different meanings in the context of tables."
<h3 id="r11.1"><a name="q247">C.4.53 </a><a href="visufx.html#overflow-clipping">Section 11.1
Overflow and clipping</a></h3>
<p>Clarified when absolute positioning and negative margins cause
overflow.</p>
<p>Added 'text-indent' to the list of things that can cause overflow.</p>
<p>Removed mention of 'clip' since it no longer affects most elements;
mentioned that the 'overflow' property also specifies whether a
scrolling mechanism is provided to access clipped content.</p>
<h3 id="r11.1.1"><a name="q248">C.4.54 </a><a href="visufx.html#overflow">Section 11.1.1
Overflow</a></h3>
<p>Clarified that descendant elements whose containing block is the
viewport or an ancestor of the element are not affected by overflow
clipping.</p>
<p>Removed unnecessary mentions of the 'clip' property from the 'hidden'
value definition.</p>
<h3 id="r11.1.2"><a name="q249">C.4.55 </a><a href="visufx.html#clipping">Section 11.1.2
Clipping</a></h3>
<p>Changed "portion of an element's rendered content" to "portion
of an element's border box" since clipping also affects the element's
backgrounds and borders.</p>
<p>Clarified what parts of the element are affected by clipping.</p>
<p>Clarified that clipped content does not cause overflow.</p>
<p>Clarified that arguments of clip() can be separated by spaces or by
commas, <em>but not a combination.</em>
<h3 id="r11.2"><a name="q250">C.4.56 </a><a href="visufx.html#overflow-clipping ">Section 11.2
Visibility</a></h3>
<p>Clarified that descendants of a 'visibility: hidden' element will
be visible if they have 'visibility: visible'.</p>
<h3 id="r12.1"><a name="q251">C.4.57 </a><a href="generate.html#before-after-content">Section 12.1
The :before and :after pseudo-elements</a></h3>
<p>Clarified that :before and :after pseudo-elements interact with
other boxes as if they were real elements just inside their associated
element.
<p>Noted that the interaction of :before and :after with replaced elements
is left undefined for now.</p>
<h3 id="r12.2"><a name="q252">C.4.58 </a><a href="generate.html#content">Section 12.2
The 'content' property</a></h3>
<p>Clarified which counters are used for counter() and counters() in
case there are multiple counters of the same name.</p>
<h3 id="r12.3.2"><a name="q253">C.4.59 </a><a href="generate.html#quotes-insert">Section 12.3.2
Inserting quotes with the 'content' property</a></h3>
<p>Removed note about common typographic practices when quotes in
different languages are mixed.</p>
<h3 id="r12.4"><a name="q254">C.4.60 </a><a href="generate.html#counters">Section 12.4
Automatic counters and numbering</a></h3>
<p>In the "self-nesting" behavior of counters, clarified that merely
using a counter in a child element doesn't create a new instance of it:
only resetting it does.</p>
<p>Clarified that the scope of a counter does not include any elements
in the scope of a counter with the same name created by a 'counter-reset'
on a later sibling or a later 'counter-reset' on the same element.</p>
<p>Removed sentence about scope of 'counter-increment' without prior
'counter-reset' as that is now defined (differently) under
"12.4.1 Nested counters and scope."</p>
<h3 id="r12.4.3"><a name="q255">C.4.61 </a><a href="generate.html#undisplayed-counters">Section 12.4.3
Counters in elements with 'display: none'</a></h3>
<p>Clarified that pseudo-elements that generate no boxes also do not
increment counters.
<h3 id="r14.2"><a name="q256">C.4.62 </a><a href="colors.html#background">Section 14.2 The background</a></h3>
<p>Clarified that the root background image, although painted over the entire
canvas, is anchored as if painted only for the root element, and that the root's
background is only painted once.</p>
<p>Clarified rules for propagation of background settings on HTML's <body>
element to the root.</p>
<p>Added statement about z-index of backgrounds for elements that form a
stacking context and referred to z-index property for details.</p>
<p>Added this note after the first paragraph after 'background-attachment':
<blockquote><p>Note that there is only <em>one</em> viewport per
document. I.e., even if an element has a scrolling mechanism (see
'overflow'), a 'fixed' background doesn't move with it.</blockquote>
<p>Definition of 'background-position' has been rewritten as normative rules
rather than just examples.</p>
<p>Stated that the tiling and positioning of background images for inline
elements is undefined in CSS2.1.</p>
<h3 id="r15.1"><a name="q257">C.4.63 </a><a href="fonts.html#fonts-intro">Section 15.1 Fonts Introduction</a></h3>
<p>Drastically shortened introduction.</p>
<h3 id="r15.2"><a name="q258">C.4.64 </a><a href="fonts.html#algorithm">Section 15.2
Font matching algorithm</a></h3>
<p>In the per-property rule 2, clarified that 'normal' matches
the non-small-caps variant (if there is one).</p>
<h3 id="r15.3"><a name="q259">C.4.65 </a><a href="fonts.html#font-family-prop">Section 15.2.2 Font family</a></h3>
<p>Removed discussion of font-matching algorithm. (It is already
covered in the <a href="fonts.html#algorithm">font-matching algorithm's
own section</a>.</p>
<p>Clarified that quoted strings that are the same as a keyword
value must be treated as font family names and not as the keyword
value (which must be unquoted).</p>
<h3 id="r15.3.1"><a name="q260">C.4.66 </a><a href="fonts.html#generic-font-families">Section 15.3.1
Generic font families</a></h3>
<p>This section, previously section 15.2.6, has been moved but no
other change was made.</p>
<h3 id="r15.4"><a name="q261">C.4.67 </a><a href="fonts.html#font-styling">Section 15.4
Font styling</a></h3>
<p>The text for this section (formerly part of 15.2.3) has been
reverted to its CSS1 format.</p>
<h3 id="r15.5"><a name="q262">C.4.68 </a><a href="fonts.html#small-caps">Section 15.5
Small-caps</a></h3>
<p>The text for this section (formerly part of 15.2.3) has been
reverted to its CSS1 format.</p>
<p>Clarified that CSS2.1 cannot select font variants besides small-caps.</p>
<p>Clarified that when "font-variant: small-caps" results in the
substitution of full-caps, the behavior is the same as for
text-transform.</p>
<h3 id="r15.6"><a name="q263">C.4.69 </a><a href="fonts.html#font-boldness">Section 15.6
Font boldness</a></h3>
<p>The text for this section (formerly part of 15.2.3) has been
reverted to its CSS1 format. Also, discussion of font-weight from
other parts of the Fonts chapter has been aggregated under this
section.</p>
<p>Removed statemnt that says "User agents must map names to values
in a way that preserves visual order; a face mapped to a value
must not be lighter than faces mapped to lower values." This is
otherwise implied by "The only guarantee is that a face of a given
value will be no less dark than the faces of lighter values."</p>
<h3 id="r15.7"><a name="q264">C.4.70 </a><a href="fonts.html#font-size-props">Section 15.7
Font size</a></h3>
<p>Clarified relationship of font size to em squares.</p>
<p>Added a totally irrelevant note about font sizes virtual reality
scenes.</p>
<h3 id="r16.1"><a name="q265">C.4.71 </a><a href="text.html#indentation-prop">Section 16.1
Indentation</a></h3>
<p>Clarified that text overflowing due to text-indent is affected
by the 'overflow' property.</p>
<p>Added a note about text-indents inheriting behavior and suggesting
'text-indent: 0' on inline-blocks.</p>
<h3 id="r16.2"><a name="q266">C.4.72 </a><a href="text.html#alignment-prop">Section 16.2
Alignment</a></h3>
<p>Changed "double justify" to "justify" under "left, right, center,
and justify".</p>
<h3 id="r16.3.1"><a name="q267">C.4.73 </a><a href="text.html#lining-striking-props">Section 16.3.1
Underlining, over lining, striking, and blinking</a></h3>
<p>Added an example to illustrate how underlining affects descendant
boxes.</p>
<h3 id="r16.5"><a name="q268">C.4.74 </a><a href="text.html#caps-prop">Section 16.5
Capitalization</a></h3>
<p>Switched language reference from RFC2070 to RFC3066.</p>
<h3 id="r16.6"><a name="q269">C.4.75 </a><a href="text.html#white-space-prop">Section 16.6
White space</a></h3>
<p>Added <a href="text.html#egbidiwscollapse">section 16.6.1</a> as an example
to illustrate the interaction of white space collapsing and bidi.</p>
<h3 id="r17.1"><a name="q270">C.4.76 </a><a href="tables.html#tables-intro">Section 17.1
Introduction to tables</a></h3>
<p>Expanded introduction to include a brief discussion of the two
table layout models. Mentioned that the automatic table algorithm
is not fully defined in CSS 2.1 but that some implementations
have achieved relatively close interoperability.</p>
<h3 id="r17.2"><a name="q271">C.4.77 </a><a href="tables.html#table-display">Section 17.2
The CSS table model</a></h3>
<p>Clarify that all table captions must be rendered if more than
one exists.</p>
<p>Specified that replaced elements with table display values are
treated as table elements in table layout.</p>
<h3 id="r17.2.1"><a name="q272">C.4.78 </a><a href="tables.html#anonymous-boxes">Section 17.2.1
Anonymous table objects</a></h3>
<p>Moved the first bullet text to the prose before the list of
generation rules as it is a general statement of what the rules
are supposed to accomplish.</p>
<h3 id="r17.4"><a name="q273">C.4.79 </a><a href="tables.html#model">Section 17.4
Tables in the visual formatting model</a></h3>
<p>Clarified that "display: table" elements behave as block-level elements
and "display: inline-table" elements behave as inline-level elements and
not the other way around.</p>
<p>Clarified that 'table-caption' boxes behave as normal block boxes
within the outer anonymous table box.</p>
<p>Clarified that percentage 'width' and 'height' on the table box is
relative to the anonymous box's containing block, not the anonymous
box itself.
<p>Clarified that the 'position', 'float', 'top', 'right', 'bottom',
and 'left' values on the table box are used on the anonymous outer
box instead of the table box and that the table box itself uses the
initial values of those properties.</p>
<h3 id="r17.5"><a name="q274">C.4.80 </a><a href="tables.html#table-layout">Section 17.5
Visual layout of table contents</a></h3>
<p>To remove ambiguity about the position of extent of internal
table boxes, the following paragraph was added after point 6:
<blockquote><p>the edges of the rows, columns, row groups and column
groups in the <a href="tables.html#collapsing-borders">collapsing borders
model</a> coincide with the hypothetical grid lines on which the
borders of the cells are centered. (And thus, in this model, the rows
together exactly cover the table, leaving no gaps; ditto for the
columns.) In the <a href="tables.html#separated-borders">separated borders
model,</a> the edges coincide with the <a
href="box.html#border-edge">border edges</a> of cells. (And thus, in
this model, there may be gaps between the rows and columns,
corresponding to the <a href="tables.html#propdef-border-spacing" class="noxref"><span
class="propinst-border-spacing">'border-spacing'</span></a>
property.)</blockquote>
<p>Changed warning note about positioning of table cells to be more
precise about the possibly unintended effects.</p>
<h3 id="r17.5.1"><a name="q275">C.4.81 </a><a href="tables.html#table-layers">Section 17.5.1 Table layers and
transparency</a></h3>
<p>At the end of the section added the following paragraph:
<blockquote><p>Note that if the table has 'border-collapse: separate',
the background of the area given by the 'border-spacing' property is
always the background of the table element. See 17.6.1</blockquote>
<h3 id="r17.5.2"><a name="q276">C.4.82 </a><a href="tables.html#width-layout">Section 17.5.2 Table width algorithms</a></h3>
<p>Added a paragraph to clarify the interaction of the table width
algorithms with the rules in
<a href="visudet.html#Computing_widths_and_margins">section 10.3</a>
(Calculating widths and margins).</p>
<h3 id="r17.5.2.1"><a name="q277">C.4.83 </a><a href="tables.html#fixed-table-layout">Section 17.5.2.1
Fixed table layout</a></h3>
<p>Explicitly mentioned that the fixed table layout algorithm may be
used with the algorithm of <a href="visudet.html#blockwidth">section
10.3.3</a> when 'table-layout' is 'fixed' but 'width' is 'auto'.</p>
<h3 id="r17.5.2.2"><a name="q278">C.4.84 </a><a href="tables.html#auto-table-layout">Section 17.5.2.2
Automatic table layout</a></h3>
<p>Clarified that UAs can use other algorithms besides the one in
this section <em>even if</em> it results in different behavior.
Also marked the rest of the section non-normative in accordance
with that statement.</p>
<h3 id="r17.5.4"><a name="q279">C.4.85 </a><a href="tables.html#column-alignment">Section 17.5.4
Horizontal alignment in a column</a></h3>
<p>Changed "The horizontal alignment of a cell's content within a cell
box is specified with the 'text-align' property" to "The horizontal
alignment of a cell's <ins>inline content</ins> within a cell box
<ins>can be</ins> specified with the 'text-align' property."
<h3 id="r17.5.5"><a name="q280">C.4.86 </a><a href="tables.html#dynamic-effects">Section 17.5.5
Dynamic row and column effects</a></h3>
<p>Clarified that not affecting layout means that 'visibility: collapse'
causes the part of row- and column-spanning cells that span into
the collapsed row to be clipped.</p>
<h3 id="r17.6.1"><a name="q281">C.4.87 </a><a href="tables.html#separated-borders">Section 17.6.1
The separated borders model</a></h3>
<p>Added a note explaining that 'border-spacing' can be used as a
substitute for the non-standard 'framespacing' attribute on
frameset elements (which are out-of-scope for CSS2.1).</p>
<p>Added clarification about backgrounds: the
sentence "This space is filled with the background of the table
element" was replaced by:
<blockquote><p>In this space, the row, column, row group, and column
group backgrounds are invisible, allowing the table background to show
through.</blockquote>
<h3 id="r17.6.2"><a name="q282">C.4.88 </a><a href="tables.html#collapsing-borders">Section 17.6.2
The collapsing borders model</a></h3>
<p>In the sentence after the question, added "and
padding-left<sub>i</sub> and padding-right<sub>i</sub> refer
to the left (resp., right) padding of cell i."
<h3 id="r18.2"><a name="q283">C.4.89 </a><a href="ui.html#system-colors">Section 18.2
System Colors</a></h3>
<p>Noted that system colors are deprecated in CSS3.</p>
<h3 id="r18.4"><a name="q284">C.4.90 </a><a href="ui.html#dynamic-outlines">Section 18.4
Dynamic outlines</a></h3>
<p>Clarified that outlines do not cause overflow.</p>
<p>Clarified that outlines are only fully connected "if possible".</p>
<h3 id="r18.4.1"><a name="q285">C.4.91 </a><a href="ui.html#outline-focus">Section 18.4.1
Outlines and the focus</a></h3>
<p>Clarify that changing outlines in response to focus
should not cause a document to reflow.</p>
<h3 id="rD"><a name="q286">C.4.92 </a><a href="sample.html">Appendix D Default style sheet for
HTML 4</a></h3>
<p>Added paragraph clarifying that some presentational markup in
HTML can be replaced with CSS, but it requires different markup.</p>
<h2>C.5 <a name=errata>Errata since the Candidate Recommendation of July
2007</a></h2>
<p>Errata to CSS 2.1 since <a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719">CR version of July 19, 2007.</a>
<h3 id="s.1.4.2.1"><a name="q288">C.5.1 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/about.html#value-defs">
Section 1.4.2.1 Value</a></h3>
<p><span class=date>[2009-04-15]</span> The notation
“&&” may be used in syntax definitions in future
CSS specifications.
<h3 id="s.2.3"><a name="q289">C.5.2 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/intro.html#processing-model">
Section 2.3 The CSS 2.1 processing model</a></h3>
<p><span class=date>[2008-08-19]</span> The first part of the section
is not normative.
<h3 id="s.3.1"><a name="q290">C.5.3 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/conform.html#defs">
Section 3.1 Definitions</a></h3>
<p><span class=date>[2007-11-14]</span> Append <q><ins>For raster
images without reliable resolution information, a size of 1 px
unit per image source pixel must be assumed.</ins></q> to the
definition of <q>intrinsic dimensions.</q>
<h3 id=s.4.1.1><a name="q291">C.5.4 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#tokenization"> Section
4.1.1 Tokenization</a></h3>
<p><span class=date>[2007-09-27]</span> Remove <q>DELIM?</q> from
the grammar rule
<pre>declaration : <del>DELIM?</del> property S* ':' S* value;</pre>
<p>The DELIM was allowed there so that unofficial properties could
start with a dash (-), but the dash was already allowed because of the
definition of <q>IDENT.</q>
<p><span class=date>[2009-02-02]</span> Change <del>U</del> to
<ins>u</ins> in token UNICODE-RANGE. (It means the same, but seems to
avoid confusion.)
<p><span class=date>[2009-02-02]</span> Clarify where comments are
allowed:
<blockquote>
<p>COMMENT tokens do not occur in the grammar (to keep it readable),
but any number of these tokens may appear anywhere <del>between</del>
<ins>outside</ins> other tokens. <ins>(Note, however, that a comment
before or within the @charset rule disables the @charset.)</ins>
</blockquote>
<h3 id="s.4.1.2.2"><a name="q292">C.5.5 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#vendor-keyword-history">
Section 4.1.2.2 Informative Historical Notes</a></h3>
<p><span class=date>[2008-12-09]</span> Other known vendor prefixes
are: -xv-, -ah-, prince-, -webkit-, and -khtml-.
<h3 id="s.4.1.3"><a name="q293">C.5.6 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#characters">
Section 4.1.3 Characters and case</a></h3>
<p><span class=date>[2007-11-14]</span> In the second bullet, change
<q><del>[a-z0-9]</del></q> to <q><ins>[a-zA-Z0-9]</ins></q>; in the
third bullet, change <q><del>[0-9a-f]</del></q> to
<q><ins>[0-9a-fA-F]</ins></q>.
<p>Although the preceding bullet already says that CSS is
case-insensitive, the explicit mention of upper and lower case letters
helps avoid mistakes.
<h3 id="s.4.1.3a"><a name="q294">C.5.7 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#characters">
Section 4.1.3 Characters and case</a></h3>
<p><span class=date>[2008-03-05]</span> CSS is now case-sensitive,
except for certain parts:
<blockquote><p>All CSS syntax is case-insensitive <ins>within the
ASCII range (i.e. [a-z] and [A-Z] are equivalent)</ins>, except for
parts that are not under the control of CSS.</blockquote>
<h3 id="s.4.1.3b"><a name="q295">C.5.8 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#characters">
Section 4.1.3 Characters and case</a></h3>
<p><span class=date>[2008-12-02]</span> The pair “*/” ends
a comment, even if preceded by a backslash. Change this sentence in
the third bullet:
<blockquote>
<p><ins>Except within CSS comments,</ins> any character (except a
hexadecimal digit) can be escaped with a backslash to remove its
special meaning.
</blockquote>
<h3 id="s.4.1.3c"><a name="q296">C.5.9 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#characters">
Section 4.1.3 Characters and case</a></h3>
<p><span class=date>[2009-04-15]</span> Text added to match the grammar:
<blockquote>
<p>[…] any character (except a hexadecimal digit <ins>,
linefeed, carriage return or form feed</ins>) can be escaped […]
</blockquote>
<h3 id="s.4.1.5"><a name="q297">C.5.10 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#at-rules">
Section 4.1.5 At-rules</a></h3>
<p><span class=date>[2009-04-15]</span> Clarified that unknown
statements are ignored when looking for @import:
<blockquote>
<p>CSS 2.1 user agents must ignore any '@import' rule that occurs
inside a block or after any <del>valid</del> <ins>non-ignored</ins>
statement other than an @charset or an @import rule.
</blockquote>
<h3 id="s.4.1.7"><a name="q298">C.5.11 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#rule-sets">Section 4.1.7
Rule sets, declaration blocks, and selectors</a></h3>
<p><span class=date>[2008-11-26]</span> More precise statement of what
is ignored:
<blockquote><p>When a user agent can't parse the selector (i.e., it is
not valid CSS 2.1), it must ignore the <ins>selector and the
following</ins> declaration block <ins>(if any)</ins> as
well.</blockquote>
<h3 id="s.4.2"><a name="q299">C.5.12 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#parsing-errors">
Section 4.2 Rules for handling parsing errors</a></h3>
<p><span class=date>[2009-04-15]</span> Added error recovery rule for
unexpected tokens at the top level:
<blockquote>
<p><strong>Malformed statements.</strong> User agents must handle
unexpected tokens encountered while parsing a statement by reading
until the end of the statement, while observing the rules for matching
pairs of (), [], {}, "", and '', and correctly handling escapes. For
example, a malformed statement may contain an unexpected closing brace
or at-keyword. E.g., the following lines are all ignored:
<pre>
p @here {color: red} /* ruleset with unexpected at-keyword "@here" */
@foo @bar; /* at-rule with unexpected at-keyword "@bar" */
}} {{ - }} /* ruleset with unexpected right brace */
) [ {} ] p {color: red } /* ruleset with unexpected right parenthesis */
</pre>
</blockquote>
<h3 id="s.4.2a"><a name="q300">C.5.13 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#parsing-errors">
Section 4.2 Rules for handling parsing errors</a></h3>
<p><span class=date>[2008-11-26]</span>
Change “or block” as follows:
<blockquote><p>User agents must ignore an invalid at-keyword together
with everything following it, up to and including the next semicolon
(;), <del>or block ({...})</del> <ins>the next block ({...}), or the
end of the block (}) that contains the invalid at-keyword</ins>,
whichever comes first.</blockquote>
<h3 id="s.4.3.2"><a name="q301">C.5.14 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#length-units">
Section 4.3.2 Lengths</a></h3>
<p><span class=date>[2008-08-19]</span> Add recommendation about size
of px:
<blockquote>
<p>[…] the user agent should rescale pixel values. <ins>It is
recommended that the pixel unit refer to the whole number of device
pixels that best approximates the reference pixel.</ins>
</blockquote>
<h3 id="s.4.3.5"><a name="q302">C.5.15 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#counter">
Section 4.3.5 Counters</a></h3>
<p><span class=date>[2008-03-05]</span> Insert <q>case-sensitive</q>
in <q>Counters are denoted by <ins>case-sensitive</ins>
identifiers</q>.
<h3 id="s.5.8.1"><a name="q303">C.5.16 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/selector.html#matching-attrs">
Section 5.8.1 Matching attributes and attribute values</a></h3>
<p><span class=date>[2008-04-07]</span> Clarified ~= and |= by using
the definitions from the <a
href="http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#attribute-substrings">
Selectors</a> module.
<p><span class=date>[2008-11-03]</span> Clarified that [foo~=""]
(i.e., with an empty value) will not match anything.
<h3 id="s.5.8.2"><a name="q304">C.5.17 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/selector.html#default-attrs"> Section
5.8.2 Default attribute values in DTDs</a></h3>
<p><span class=date>[2007-11-14]</span> Replace <q><del>tag</del>
selector</q> by <q><ins>type</ins> selector</q>.
<h3 id="s.5.11.4"><a name="q305">C.5.18 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/selector.html#lang">
Section 5.11.4 The language pseudo-class: :lang</a></h3>
<p><span class=date>[2009-04-15]</span> The language code is
case-insensitive.
<h3 id="s.5.12.3"><a name="q306">C.5.19 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/selector.html#before-and-after">
Section 5.12.3 The :before and :after pseudo-elements</a></h3>
<p><span class=date>[2008-11-03]</span> Clarified text:
<blockquote><p>When the :first-letter and :first-line pseudo-elements
are <del>combined with</del> <ins>applied to an element having content
generated using</ins> :before and :after, they apply to the first
letter or line of the element including the <del>inserted text</del>
<ins>generated content</ins>.
</blockquote>
<h3 id="s.6.3"><a name="q307">C.5.20 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/cascade.html#at-import">
Section 6.3 The @import rule</a></h3>
<p><span class=date>[2008-08-19]</span> Add “In CSS 2.1”
and “See the section on parsing for when user agents must ignore
@import rules” to
<blockquote>
<p><ins>In CSS 2.1,</ins> any @import rules must precede all
other rules (except the @charset rule, if present). <ins>See the
section on parsing for when user agents must ignore @import
rules.</ins>
</blockquote>
<h3 id="s.6.3a"><a name="q308">C.5.21 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/cascade.html#at-import">
Section 6.3 The @import rule</a></h3>
<p><span class=date>[2008-11-26]</span> Define what it means to import
a style sheet twice and how the media list is matched. Add at the end:
<blockquote>
<p>In the absence of any media types, the import is unconditional.
Specifying 'all' for the medium has the same effect. <ins>The import
only takes effect if the target medium matches the media list.</ins>
<p><ins>A target medium matches a media list if one of the items in
the media list is the target medium or 'all'.</ins>
<p class=note><ins>Note that Media Queries [MEDIAQ] extends the syntax
of media lists and the definition of matching.</ins>
<p><ins>When the same style sheet is imported or linked to a document
in multiple places, user agents must process (or act as though they
do) each link as though the link were to a separate style sheet.</ins>
</blockquote>
<h3 id="s.6.4.1"><a name="q309">C.5.22 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/cascade.html#cascading-order">
Section 6.4.1 Cascading order</a></h3>
<p><span class=date>[2007-11-22]</span> Spelling error:
<q>prece<del>n</del>dence</q>.
<h3 id="s.6.4.1a"><a name="q310">C.5.23 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/cascade.html#cascading-order">
Section 6.4.1 Cascading order</a></h3>
<p><span class=date>[2008-11-26]</span> Define the meaning of a media list:
<blockquote><p>Find all declarations that apply to the element and
property in question, for the target media type. Declarations apply if
the associated selector matches the element in question <ins>and the
target medium matches the media list on all @media rules containing
the declaration and on all links on the path through which the style
sheet was reached.</ins></blockquote>
<h3 id="s.7.2.1"><a name="q311">C.5.24 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/media.html#at-media-rule">
Section 7.2.1 The @media rule</a></h3>
<p><span class=date>[2008-12-02]</span> The rules for parsing unknown
statements inside @media blocks were ambiguous. Change the first
sentence as follows:
<blockquote>
<p>An @media rule specifies the target media types (separated by
commas) of a set of <del>rules</del> <ins>statements</ins> (delimited
by curly braces). <ins>Invalid statements must be ignored per 4.1.7
"Rule sets, declaration blocks, and selectors" and 4.2 "Rules for
handling parsing errors."</ins>
</blockquote>
<p>Also make it explicit that CSS level 2 (unlike higher levels)
has no nested @-rules. Add at the end of the section:
“<ins>At-rules inside @media are invalid in
CSS 2.1.</ins>”
<h3 id="s.8.3.1"><a name="q312">C.5.25 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/box.html#collapsing-margins">
Section 8.3.1 Collapsing margins</a></h3>
<p><span class=date>[2008-08-18]</span> In bullet 6, sub-bullet 2, the
position of the top border edge is determined by assuming the element
has a non-zero <em>bottom</em> (not: top) border.
<h3 id="s.8.3.1a"><a name="q313">C.5.26 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/box.html#collapsing-margins">
Section 8.3.1 Collapsing margins</a></h3>
<p><span class=date>[2009-02-02]</span> Rephrased the rule for
adjoining margins so that the 'min-height' and 'max-height' of an
element have no influence over whether the element's bottom margin is
adjoining to its last child's bottom margin.
<h3 id="s.8.3.1b"><a name="q314">C.5.27 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/box.html#collapsing-margins">
Section 8.3.1 Collapsing margins</a></h3>
<p><span class=date>[2008-12-02]</span> Not only elements with
'overflow' other than 'visible', but <em>all</em> block formatting
contexts avoid collapsing their margins with their children. Change
the third bullet as follows:
<blockquote>
<ul>
<li>Vertical margins of elements <del>with 'overflow' other than
'visible'</del> <ins>that establish new block formatting contexts
(such as floats and elements with 'overflow' other than
'visible')</ins> do not collapse with their in-flow children.
</ul>
</blockquote>
<h3 id="s.9.2.2"><a name="q315">C.5.28 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#inline-boxes">
Section 9.2.2 Inline-level elements and inline boxes</a></h3>
<p><span class=date>[2008-12-02]</span> Added missing 'inline-block'
in: “Several values of the 'display' property make an element
inline: 'inline', 'inline-table', <ins>'inline-block'</ins> and
'run-in' (part of the time; see run-in boxes).”
<h3 id="s.9.2.4"><a name="q316">C.5.29 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#display-prop">
Section 9.2.4 The 'display' property</a></h3>
<p><span class=date>[2008-04-07]</span> Clarified that 'display: none'
also applies to non-visual media.
<h3 id="s.9.3.2"><a name="q317">C.5.30 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#position-props">
Section 9.3.2 Box offsets: 'top', 'right', 'bottom',
'left'</a></h3>
<p><span class=date>[2008-08-19]</span> Remove true but confusing note
(occurs 4×):
<blockquote>
<p><del>Note: For absolutely positioned elements whose containing
block is based on a block-level element, this property is an offset
from the padding edge of that element.</del>
</blockquote>
<h3 id="s.9.5"><a name="q318">C.5.31 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#floats">
Section 9.5 Floats</a></h3>
<p><span class=date>[2008-08-19]</span> Positioned descendants of a
float are in the stacking context of the float's parent. Add
“positioned elements and” to
<blockquote>
<p>[…] except that any <ins>positioned elements and</ins>
elements that actually create new stacking contexts take part in the
float's parent's stacking context.
</blockquote>
<p>Same change in <a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#layers">
Section 9.9 Layered presentation</a>:
<blockquote>
<p>[…] except
that any <ins>positioned elements and</ins> any elements that actually
create new stacking contexts take part in the parent stacking
context.”
</blockquote>
<h3 id="s.9.5a"><a name="q319">C.5.32 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#floats">
Section 9.5 Floats</a></h3>
<p><span class=date>[2008-12-02]</span> Remove “'s” that
may be misinterpreted: “the float's parent<del>'s</del> stacking
context.”
<h3 id="s.9.5.2"><a name="q320">C.5.33 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#flow-control">
Section 9.5.2 Controlling flow next to floats: the 'clear'
property</a></h3>
<p><span class=date>[2009-02-02]</span> Add an example of negative
clearance after the first note.
<h3 id="s.9.6.1"><a name="q321">C.5.34 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#fixed-positioning">
Section 9.6.1 Fixed positioning</a></h3>
<p><span class=date>[2008-11-03]</span> Added:
<blockquote><p><ins>Boxes with fixed position that are larger than the
page box are clipped. Parts of the fixed position box that are not
visible in the initial containing block will not print.</ins>
</blockquote>
<h3 id="s.9.9.1"><a name="q322">C.5.35 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visuren.html#z-index">
Section 9.9.1 Specifying the stack level: the 'z-index'
property</a></h3>
<p><span class=date>[2008-12-02]</span> The list of stacking levels is
ambiguous: relatively positioned elements could fall under items 3/4/5
or under item 6. Meant is item 6, so exclude them from 3/4/5 as
follows:
<blockquote>
<ol>
<li>the background and borders of the element forming the stacking
context.
<li>the stacking contexts of descendants with negative stack levels.
<li>a stacking level containing in-flow non-inline-level
<ins>non-positioned</ins> descendants.
<li>a stacking level for <ins>non-positioned</ins> floats and their
contents.
<li>a stacking level for in-flow inline-level
<ins>non-positioned</ins> descendants.
<li>a stacking level for positioned descendants with 'z-index:
auto', and any descendant stacking contexts with 'z-index: 0'.
<li>the stacking contexts of descendants with positive stack levels.
</ol>
</blockquote>
<h3 id="s.10.1"><a name="q323">C.5.36 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#containing-block-details">
Section 10.1 Definition of "containing block"</a></h3>
<p><span class=date>[2009-02-02]</span> Rephrase first bullet point to
make easier to read:
<blockquote>
<p><del>The containing block in which the root element lives is a
rectangle with the dimensions of the viewport, anchored at the canvas
origin for continuous media, and the page area for paged media. This
containing block is called the initial containing block.</del>
</blockquote>
<blockquote>
<p><ins>The containing block in which the root element lives is a
rectangle called the initial containing block. For continuous media,
it has the dimensions of the viewport and is anchored at the canvas
origin; it is the page area for paged media.</ins>
</blockquote>
<h3 id="s.10.3"><a name="q324">C.5.37 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#Computing_widths_and_margins">
Section 10.3 Calculating widths and margins</a></h3>
<p><span class=date>[2009-04-15]</span> The values of 'left' and
'right' are only determined by section 9.4.3 in the case of
relatively positioned elements:
<blockquote>
<p>For Points 1-6 and 9-10, the values of 'left' and 'right' <del>used
for layout</del> <ins>in the case of relatively positioned
elements</ins> are determined by the rules in <a
href="visuren.html#relative-positioning">section 9.4.3.</a>
</blockquote>
<h3 id="s.10.3.1"><a name="q325">C.5.38 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#inline-width">
Section 10.3.1 Inline, non-replaced elements</a></h3>
<p><span class=date>[2009-04-15]</span> The only case in which 'left'
or 'right' can be 'auto' is when the element is statically positioned.
In that case 'left' and 'right are ignored and there is thus no need
to determine a used value:
<blockquote>
<p>A computed value of 'auto' for <del>'left', 'right',</del>
'margin-left' or 'margin-right' becomes a used value of '0'.
</blockquote>
<h3 id="s.10.3.2"><a name="q326">C.5.39 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#inline-replaced-width">
Section 10.3.2 Inline, replaced elements</a></h3>
<p><span class=date>[2007-11-14]</span> Add the following
paragraph:
<blockquote><p><ins>Otherwise, if 'width' has a computed value of
'auto', and the element has an intrinsic width, then that intrinsic
width is the used value of 'width'.</ins></blockquote>
<p>just before the paragraph beginning <q>Otherwise, if 'width' has a
computed value of 'auto', but none of the conditions above are met,
[…]</q>.
<h3 id="s.10.3.2a"><a name="q327">C.5.40 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#inline-replaced-width">
Section 10.3.2 Inline, replaced elements</a></h3>
<p><span class=date>[2008-03-05]</span> Change the last paragraph as
follows:
<blockquote><p>If it does, <del>then a percentage intrinsic width on
that element can't be resolved and the element is assumed to have no
intrinsic width</del> <ins>then the resulting layout is undefined in
CSS2.1</ins>.</blockquote>
<h3 id="s.10.3.3"><a name="q328">C.5.41 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#blockwidth">
Section 10.3.3 Block-level, non-replaced elements in normal
flow</a></h3>
<p><span class=date>[2008-03-05]</span> Scrollbar widths are no longer
included in the containing block width. Remove scrollbar width from:
<blockquote><p>'margin-left' + 'border-left-width' + 'padding-left' +
'width' + 'padding-right' + 'border-right-width' + 'margin-right'
<del>+ scrollbar width (if any)</del> = width of containing
block</blockquote>
<p>and from:
<blockquote><p>If 'width' is not 'auto' and 'border-left-width' +
'padding-left' + 'width' + 'padding-right' + 'border-right-width'
<del>+ scrollbar width (if any)</del> [...]</blockquote>
<p>and remove the paragraph:
<blockquote><p><del>The "scrollbar width" value is only relevant if
the user agent uses a scrollbar as its scrolling mechanism. See the
definition of the 'overflow' property.</del></blockquote>
<h3 id="s.10.3.7"><a name="q329">C.5.42 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-non-replaced-width">
Section 10.3.7 Absolutely positioned, non-replaced elements</a></h3>
<p><span class=date>[2008-03-05]</span> Scrollbar widths are no longer
included in the containing block width. Remove scrollbar width from:
<blockquote><p>'left' + 'margin-left' + 'border-left-width' +
'padding-left' + 'width' + 'padding-right' + 'border-right-width' +
'margin-right' + 'right' <del>+ scrollbar width (if any)</del> = width
of containing block</blockquote>
<p>and remove the paragraph:
<blockquote><p><del>The "scrollbar width" value is only relevant if
the user agent uses a scrollbar as its scrolling mechanism. See the
definition of the 'overflow' property.</del></blockquote>
<h3 id="s.10.3.7a"><a name="q330">C.5.43 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-non-replaced-width">
Section 10.3.7 Absolutely positioned, non-replaced elements</a></h3>
<p><span class=date>[2008-03-05]</span> Add the following definition.
<p><span class=date>[2008-08-19]</span> Add the following note to that
definition.
<blockquote><p><ins>The <dfn>static-position containing block</dfn> is
the containing block of a hypothetical box that would have been the
first box of the element if its specified 'position' property had been
'static'
and its 'float' had been 'none'. (Note that due to the rules in
section 9.7 this hypothetical calculation might require also assuming
a different computed value for 'display'.)</ins></blockquote>
<p>And change which 'direction' property is used as follows (two
occurrences):
<blockquote><p>[...] if the 'direction' property of the <ins>element
establishing the static-position</ins> containing block is
[...]</blockquote>
<h3 id="s.10.3.8"><a name="q331">C.5.44 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-replaced-width">
Section 10.3.8 Absolutely positioned, replaced elements</a></h3>
<p><span class=date>[2008-03-05]</span> Change bullet 2 as follows:
<blockquote><p>[...] if <ins>the</ins> 'direction' <ins>property</ins>
of the <ins>element establishing the static-position</ins> containing
block is [...]</blockquote>
<h3 id="s.10.3.8a"><a name="q332">C.5.45 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-replaced-width">
Section 10.3.8 Absolutely positioned, replaced elements</a></h3>
<p><span class=date>[2008-03-05]</span> Clarification. Replace
<blockquote><p><del>This situation is similar to the previous one,
except that the element has an intrinsic width. The sequence of
substitutions is now:</del></blockquote>
<p>by
<blockquote><p><ins>In this case, section 10.3.7 applies up through
and including the constraint equation, but the rest of section 10.3.7
is replaced by the following rules:</ins></blockquote>
<h3 id="s.10.3.8c"><a name="q333">C.5.46 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-replaced-width">
Section 10.3.8 Absolutely positioned, replaced elements</a></h3>
<p><span class=date>[2008-04-07]</span> Clarified that margins are
<em>not</em> calculated as for inline elements.
<h3 id="s.10.5"><a name="q334">C.5.47 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#the-height-property">
Section 10.5 Content height: the 'height' property</a></h3>
<p>Under “<percentage>,” add the same note as under
“<percentage>,” in section 10.2 (“Content
width: the 'width' property”).
<h3 id="s.10.6.2"><a name="q335">C.5.48 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#inline-replaced-height">
Section 10.6.2 Inline replaced elements […]</a></h3>
<p><span class=date>[2007-11-14]</span> Add the following
paragraph:
<blockquote><p><ins>Otherwise, if 'height' has a computed value of
'auto', and the element has an intrinsic height, then that intrinsic
height is the used value of 'height'.</ins></blockquote>
<p>just before the paragraph beginning <q>Otherwise, if 'height' has a
computed value of 'auto', but none of the conditions above are
met […]</q>.
<h3 id="s.10.6.4"><a name="q336">C.5.49 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-non-replaced-height">
Section 10.6.4 Absolutely positioned, non-replaced
elements</a></h3>
<p><span class=date>[2008-11-26]</span> The static position is
determined considering <em>neither</em> float <em>nor</em> clear. Add
this:
<blockquote><p>[…] and its specified 'float' had been 'none'
<ins>and 'clear' had been 'none'</ins>.</blockquote>
<h3 id="s.10.6.5"><a name="q337">C.5.50 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#abs-replaced-height">
Section 10.6.5 Absolutely positioned, replaced elements</a></h3>
<p><span class=date>[2008-04-07]</span> Clarified that margins are
<em>not</em> calculated as for inline elements.
<h3 id="s.10.8.1"><a name="q338">C.5.51 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visudet.html#leading"> Section 10.8.1
Leading and half-leading</a></h3>
<p><span class=date>[2007-11-14]</span> In the Note under
'vertical-align', remove <q>slightly</q> from <q>Values of
this property have <del>slightly</del> different meanings in the
context of tables.</q>
<h3 id="s.11.1.1"><a name="q339">C.5.52 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visufx.html#overflow">
Section 11.1.1 Overflow: the 'overflow' property</a></h3>
<p><span class=date>[2008-03-05]</span> Scrollbar widths are no longer
included in the containing block width. Replace
<blockquote><p><del>The space taken up by the scrollbars affects the
computation of the dimensions in the rendering
model.</del></blockquote>
<p>by
<blockquote><p><ins>Any space taken up by the scrollbars should be
taken out of (subtracted from the dimensions of) the containing block
formed by the element with the scrollbars.</ins></blockquote>
<p><span class=date>[2008-11-03]</span> 'Overflow' on BODY is special
not only in HTML but also in XHTML. Change the sentence
“<del>HTML UAs must instead apply the 'overflow' property from
the BODY element to the viewport, if the value on the HTML element is
'visible'.</del>” to:
<blockquote><p><ins>When the root element is an HTML "HTML" element or
an XHTML "html" element, and that element has an HTML "BODY" element
or an XHTML "body" element as a child, user agents must instead apply
the 'overflow' property from the first such child element to the
viewport, if the value on the root element is 'visible'.</ins>
</blockquote>
<h3 id="s.11.1.2"><a name="q340">C.5.53 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/visufx.html#clipping">
Section 11.1.2 Clipping: the 'clip' property</a></h3>
<p><span class=date>[2008-03-05]</span> Insert <q>(but not a
combination)</q> in <q>User agents must support separation with
commas, but may also support separation without commas <ins>(but not a
combination)</ins></q>.
<h3 id="s.12.2"><a name="q341">C.5.54 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#content">
Section 12.2 The 'content' property</a></h3>
<p><span class=date>[2009-04-15]</span> (And also in
section 12.4:) certain keywords, in particular 'none', 'inherit'
and 'initial' (the latter being reserved for future use) cannot be
used as names for counters.
<h3 id="s.12.4.2"><a name="q342">C.5.55 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#counter-styles">
Section 12.4.2 Counter styles</a></h3>
<p><span class=date>[2008-03-05]</span> Error in example. Replace
hebrew by lower-greek:
<pre>BLOCKQUOTE:after { content: " [" counter(bq, <del>hebrew</del> <ins>lower-greek</ins>) "]" }</pre>
<h3 id="s.12.5"><a name="q343">C.5.56 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#lists">
Section 12.5 Lists</a></h3>
<p><span class=date>[2008-12-01]</span> Change “in” to
“with respect to” in
<blockquote><p>The list properties describe basic visual formatting of
lists: they allow style sheets to specify the marker type (image,
glyph, or number), and the marker position <del>in</del> <ins>with
respect to</ins> the principal box (outside it or within it before
content).
</blockquote>
<p>because the marker is, as the rest of the sentence itself makes
clear, not necessarily <em>in</em> the principal box.
<h3 id="s.12.5.1"><a name="q344">C.5.57 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#list-style">
Section 12.5.1 Lists: the 'list-style-type', 'list-style-image',
'list-style-position', and 'list-style' properties</a></h3>
<p><span class=date>[2008-04-07]</span> The size of list style markers
without an intrinsic size is now defined.
<h3 id="s.12.5.1a"><a name="q345">C.5.58 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#list-style">
Section 12.5.1 Lists: the 'list-style-type', 'list-style-image',
'list-style-position', and 'list-style' properties</a></h3>
<p><span class=date>[2008-12-01]</span> CSS 2.1 does not specify
the position of the list item marker, but <em>does</em> require it to
be on the left or right of the content. Also, the marker is not
affected by 'overflow', but <em>may</em> influence the height of the
principal box. Add to the definition of 'outside':
<blockquote><p><ins>… but does require that for list items whose
'direction' property is 'ltr' the marker box be on the left side of
the content and for elements whose 'direction' property is 'rtl' the
marker box be on the right side of the content. 'overflow' on the
element does not clip the marker box. The marker box is fixed with
respect to the principal block box's border and does not scroll with
the principal block box's content. The size or contents of the marker
box may affect the height of the principal block box and/or the height
of its first line box, and in some cases may cause the creation of a
new line box. Note: This interaction may be more precisely defined in
a future level of CSS.</ins>
</blockquote>
<h3 id="s.12.5.1b"><a name="q346">C.5.59 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/generate.html#list-style">
Section 12.5.1 Lists: the 'list-style-type', 'list-style-image',
'list-style-position', and 'list-style' properties</a></h3>
<p><span class=date>[2009-04-015]</span> Meaning of 'none' for
'list-style' was only defined by an example.
<h3 id="s.13.2"><a name="q347">C.5.60 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#page-box">
Section 13.2 Page boxes: the @page rule</a></h3>
<p><span class=date>[2008-08-19]</span> Add rules for drawing canvas
to:
<blockquote>
<ul>
<li>The page area. The page area includes the boxes laid out on that
page. The edges of the first page area establish the rectangle that is
the initial containing block of the document. <ins>The canvas
background is painted within and covers the page area.</ins>
<li>The margin area, which surrounds the page area. <ins>The page
margin area is transparent.</ins>
</ul>
</blockquote>
<h3 id="s.13.2.1.1"><a name="q348">C.5.61 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#oversized-page-box">
Section 13.2.1.1 Rendering page boxes that do not fit a target
sheet</a></h3>
<p><span class=date>[2009-02-02]</span> <p>Remove sections 13.2.1.1
and 13.2.1.2. (The described situations cannot occur in CSS 2.1,
because CSS 2.1 doesn't have a 'size' property.)
<h3 id="s.13.2.3"><a name="q349">C.5.62 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#outside-page-box">
Section 13.2.3 Content outside the page box</a></h3>
<p><span class=date>[2008-11-03]</span> Clarified what locations are
inconvenient for printing:
<blockquote><p>When formatting content in the page model, some content
may end up outside the <ins>current</ins> page box. For example, an
element whose 'white-space' property has the value 'pre' may generate
a box that is wider than the page box. <ins>As another example,</ins>
when boxes are positioned absolutely <ins>or relatively</ins>, they
may end up in “inconvenient” locations. For example,
images may be placed on the edge of the page box or 100,000 meters
below the page box.
</blockquote>
<h3 id="s.13.3.1"><a name="q350">C.5.63 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#page-break-props">
Section 13.3.1 Page break properties: 'page-break-before',
'page-break-after', 'page-break-inside'</a></h3>
<p><span class=date>[2008-04-30]</span> The 'page-break-inside'
property no longer inherits.</p>
<h3 id="s.13.3.1a"><a name="q351">C.5.64 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#page-break-props">
Section 13.3.1 Page break properties: 'page-break-before',
'page-break-after', 'page-break-inside'</a></h3>
<p><span class=date>[2008-12-01]</span> UAs <em>may</em> apply
'page-break-before', 'page-break-after' and 'page-break-inside' to
other elements than block-level ones.
<h3 id="s.13.3.2"><a name="q352">C.5.65 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#break-inside">
Section 13.3.2 Breaks inside elements: 'orphans',
'widows'</a></h3>
<p><span class=date>[2009-02-02]</span> “Paragraph” is not
a defined term. Change <del>of a paragraph</del> to <ins>in a block
element</ins> (twice).
<h3 id="s.13.3.2a"><a name="q353">C.5.66 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#break-inside">
Section 13.3.2 Breaks inside elements: 'orphans',
'widows'</a></h3>
<p><span class=date>[2009-04-15]</span> 'Widows' and 'orphans' only
accept positive values.
<h3 id="s.13.3.3"><a name="q354">C.5.67 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#allowed-page-breaks">
Section 13.3.3 Allowed page breaks</a></h3>
<p><span class=date>[2008-04-30]</span> The 'page-break-inside'
property of all ancestors is checked for page-breaking restrictions,
not just that of the breakpoint's parent.</p>
<h3 id="s.13.3.3a"><a name="q355">C.5.68 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#allowed-page-breaks">
Section 13.3.3 Allowed page breaks</a></h3>
<p><span class=date>[2009-02-02]</span> Remove possible confusion:
<blockquote>
<p>Rule D: In addition, breaking at (2) is allowed only if the
'page-break-inside' property of <ins>the element and</ins> all
<ins>its</ins> ancestors is 'auto'.
</blockquote>
<h3 id="s.13.3.3b"><a name="q356">C.5.69 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#allowed-page-breaks">
Section 13.3.3 Allowed page breaks</a></h3>
<p><span class=date>[2009-02-02]</span> Top margins do <em>not</em>
disappear at a page break that is forced by a 'page-break-after' or
'page-break-before'. Correct the first bullet to:
<blockquote>
<p>When an <ins>unforced</ins> page break occurs here, the used values
of the relevant 'margin-top' and 'margin-bottom' properties are set to
'0'. <ins>When a forced page break occurs here, the used value of the
relevant 'margin-bottom' property is set to '0'; the relevant
'margin-top' used value may either be set to '0' or retained.</ins>
</blockquote>
<p>And add the following note:
<blockquote>
<p><ins> Note: It is expected that CSS3 will specify that the relevant
'margin-top' applies (i.e., is not set to '0') after a forced page
break.</ins>
</blockquote>
<h3 id="s.13.3.5"><a name="q357">C.5.70 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/page.html#best-page-breaks">
Section 13.3.5 "Best" page breaks</a></h3>
<p><span class=date>[2009-02-02]</span> Remove the advice to user
agents to avoid breaking inside elements with borders, inside tables
or inside floating elements; add the advice to avoid breaking inside
replaced elements.
<h3 id="s.14.2"><a name="q358">C.5.71 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/colors.html#background">
Section 14.2 The background</a></h3>
<p><span class=date>[2008-11-03]</span> The 'background' property is
special on BODY not only in HTMLbut also in XHTML.
<h3 id="s.14.2a"><a name="q359">C.5.72 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/colors.html#background">
Section 14.2 The background</a></h3>
<p><span class=date>[2009-04-15]</span> The whole 'background'
property is used for the canvas, not just the color and the image:
<blockquote>
<p>For documents whose root element is an HTML "HTML" element or an
XHTML "html" element that has computed values of 'transparent' for
'background-color' and 'none' for 'background-image', user agents must
instead use the computed value of <del>those</del> <ins>the
background</ins> properties from that element's first HTML "BODY"
element or XHTML "body" element child […]
</blockquote>
<h3 id="s.14.2.1a"><a name="q360">C.5.73 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/colors.html#background-properties">
Section 14.2.1 Background properties: 'background-color',
'background-image', 'background-repeat', 'background-attachment',
'background-position', and 'background'</a></h3>
<p><span class=date>[2008-04-07]</span> The size of background images
without an intrinsic size is now defined.
<h3 id="s.15.6"><a name="q361">C.5.74 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/fonts.html#font-boldness">
Section 15.6 Font boldness: the 'font-weight' property</a></h3>
<p><span class=date>[2008-11-26]</span> Remove incorrect text:
<blockquote>
<ul>
<li>'bolder' selects the next weight that is assigned to a font that
is darker than the inherited one. <del>If there is no such weight, it
simply results in the next darker numerical value (and the font
remains unchanged), unless the inherited value was '900' in which case
the resulting weight is also '900'.</del>
<li>'lighter' is similar, but works in the opposite direction: it
selects the next lighter keyword with a different font from the
inherited one, <del>unless there is no such font, in which case it
selects the next lighter numerical value (and keeps the font
unchanged)</del>.
</ul>
</blockquote>
<p>and:
<blockquote><p><del>The computed value of "font-weight" is
either:</del>
<ul>
<li><del>one of the legal number values, or</del>
<li><del>one of the legal number values combined with one or more of
the relative values (bolder or lighter). This type of computed values
is necessary to use when the font in question does not have all weight
variations that are needed.</del>
</ul>
</blockquote>
<p>And instead add this note:
<blockquote><p><ins>Note: A set of nested elements that mix 'bolder'
and 'lighter' will give unpredictable results depending on the UA, OS,
and font availability. This behavior will be more precisely defined in
CSS3.</ins>
</blockquote>
<h3 id="s.16.6"><a name="q362">C.5.75 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/text.html#white-space-prop">
Section 16.6 Whitespace: the 'white-space' property</a></h3>
<p><span class=date>[2008-08-19]</span> Remove rules about generated
text from:
<blockquote>
<p>The following examples show what whitespace behavior is expected
from the PRE and P elements, the “nowrap” attribute in
HTML, <del>and in generated content</del>.
<pre>pre { white-space: pre }
p { white-space: normal }
td[nowrap] { white-space: nowrap }
<del>:before,:after { white-space: pre-line }</del></pre>
</blockquote>
<h3 id="s.16.6.1"><a name="q363">C.5.76 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/text.html#white-space-model">
Section 16.6.1 The 'white-space' processing model</a></h3>
<p><span class=date>[2009-02-02]</span> Collapsing of white space does
not remove any line breaking oppportunities. Add the following
clarification:
<blockquote>
<p>Then, the entire block is rendered. Inlines are laid out, taking
bidi reordering into account, and wrapping as specified by the
'white-space' property. <ins>When wrapping, line breaking
opportunities are determined based on the text prior to the white
space collapsing steps above.</ins>
</blockquote>
<h3 id="s.17.2.1"><a name="q364">C.5.77 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/tables.html#anonymous-boxes"> Section
17.2.1 Anonymous table objects</a></h3>
<p><span class=date>[2007-11-14]</span> Spelling error:
<q>boxes<del>s</del></q>.
<h3 id="s.17.2.1a"><a name="q365">C.5.78 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/tables.html#anonymous-boxes"> Section
17.2.1 Anonymous table objects</a></h3>
<p><span class=date>[2008-10-13]</span> Added new rule after
bullet 4:
<blockquote>
<p><ins>5. If a child T of a 'table', 'inline-table', 'table-row-group',
'table-header-group', 'table-footer-group', or 'table-row' box is an
anonymous inline box that contains only white space, then it is
treated as if it has 'display: none'.</ins>
</blockquote>
<h3 id="s.17.4"><a name="q366">C.5.79 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/tables.html#model">
Section 17.4 Tables in the visual formatting model</a></h3>
<p><span class=date>[2009-02-02]</span> The anonymous block containing
the table and its caption establishes a block formatting context:
<blockquote>
<p>The anonymous box is a 'block' box if the table is block-level, and
an 'inline-block' box if the table is inline-level <del>except that
this block is never considered as a block for 'run-in' interaction,
and that </del> <ins>The anonymous box establishes a block formatting
context.</ins> The table box (not the anonymous box) is used when
doing baseline vertical alignment for an 'inline-table'.
</blockquote>
<p>The diagram now shows the caption's margins <em>inside</em> the
anonymous box.
<h3 id="s.17.5.4a"><a name="q367">C.5.80 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/tables.html#column-alignment">
Section 17.5.4 Horizontal alignment in a column</a></h3>
<p><span class=date>[2008-04-07]</span> Clarification:
<blockquote><p>The horizontal alignment of a cell's <ins>inline</ins>
content within a cell box <del>is</del> <ins>can be</ins> specified
<del>with the 'text-align' property</del> <ins>by the value of the
'text-align' property on the cell</ins>.</blockquote>
<h3 id="s.18.1"><a name="q368">C.5.81 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/ui.html#cursor-props">
Section 18.1 Cursors: the 'cursor' property</a></h3>
<p><span class=date>[2008-04-07]</span> The size of cursors without an
intrinsic size is now defined.
<h3 id="s.B.2"><a name="q369">C.5.82 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/refs.html#q2">
Section B.2 Informative references</a></h3>
<p><span class=date>[2007-11-14]</span> Spelling error: change
<q><del>?</del>lik</q> to <q><ins>Ç</ins>elik</q>
(2×).
<h3 id="s.D"><a name="q370">C.5.83 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/sample.html">
Appendix D. Default style sheet for HTML 4</a></h3>
<p><span class=date>[2008-08-19]</span> Replace
<pre>br:before { content: "\A" }
:before, :after { white-space: pre-line }</pre>
<p>with
<pre>br:before { content: "\A"; white-space: pre-line }</pre>
<h3 id="s.Da"><a name="q371">C.5.84 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/sample.html">
Appendix D. Default style sheet for HTML 4</a></h3>
<p><span class=date>[2008-08-19]</span> Add tr to:
<pre>td, th<ins>, tr</ins> { vertical-align: inherit }</pre>
<h3 id="s.E.2"><a name="q372">C.5.85 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/zindex.html#painting-order"> Section
E.2 Painting order</a></h3>
<p><span class=date>[2007-11-14]</span> Replace <q>but any descendants
which actually create a new stacking context</q> by <q>but any
<ins>positioned descendants and</ins> descendants which actually
create a new stacking context</q>.
<h3 id=s.G><a name="q373">C.5.86 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html"> Appendix
G. Grammar of CSS 2.1</a></h3>
<p><span class=date>[2007-09-27]</span> Change the last <q>S</q> in
the grammar rule for <q>combinator</q> to
<q>S+</q>:
<pre>combinator
: PLUS S*
| GREATER S*
| S<ins>+</ins></pre>
<p>and remove the rule
<pre><del>{s}+\/\*[^*]*\*+([^/*][^*]*\*+)*\/ {unput(' '); /*replace by space*/}</del></pre>
<p>in the tokenizer. The resulting language is the same, but the
grammar is easier to read and relies less on specific notations of
Flex.
<h3 id=s.G.1><a name="q374">C.5.87 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#grammar">
Section G.1 Grammar</a></h3>
<p><span class=date>[2007-09-27]</span> Changes to remove ambiguity
with respect to the S token and avoid nullable non-terminals.
<h3 id=s.G.2><a name="q375">C.5.88 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#scanner">
Section G.2 Lexical scanner</a></h3>
<p><span class=date>[2007-09-27]</span> Change the tokenizer rule
<pre><del>@{C}{H}{A}{R}{S}{E}{T}</del> {return CHARSET_SYM;}</pre>
<p>to
<pre><ins>"@charset "</ins> {return CHARSET_SYM;}</pre>
<p>The @charset must be in lowercase and must have a space after it
(as defined in section <a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#charset">
4.4 CSS style sheet representation</a>).
<h3 id=s.G.2a><a name="q376">C.5.89 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#scanner">
Section G.2 Lexical scanner</a></h3>
<p><span class=date>[2008-03-05]</span> Change the tokenizer rules
<pre><del>"url</del>("{w}{string}{w}")" {return URI;}
<del>"url</del>("{w}{url}{w}")" {return URI;}</pre>
<p>to
<pre><ins>{U}{R}{L}"</ins>("{w}{string}{w}")" {return URI;}
<ins>{U}{R}{L}"</ins>("{w}{url}{w}")" {return URI;}</pre>
<h3 id=s.G.2b><a name="q377">C.5.90 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#scanner">
Section G.2 Lexical scanner</a></h3>
<p><span class=date>[2008-04-07]</span> The definition of the macro
“O” is wrong. The letters O
and o can be written with hexadecimal escapes as
“<code>\4f</code>” and “<code>\6f</code>”
respectively (<em>not</em> as “<code>\51</code>” and
“<code>\71</code>”). The macro should therefore be
<pre>O o|\\0{0,4}(4f|6f)(\r\n|[ \t\r\n\f])?|\\o</pre>
<h3 id=s.G.2c><a name="q378">C.5.91 </a><a
href="http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#scanner">
Section G.2 Lexical scanner</a></h3>
<p>“The two occurrences of "\377"…”: There is in
fact only one occurrence.
<h3 id=s.I><a name="q379">C.5.92 </a><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719/indexlist.html">
Appendix I. Index</a></h3>
<p>Add a TITLE attribute to all links and which is equal to the lemma.
<hr class="navbar">
<div class="navbar">
<p><a href="refs.html">previous</a>
<a href="sample.html">next</a>
<a href="cover.html#minitoc">contents</a>
<a href="propidx.html">properties</a>
<a href="indexlist.html">index</a>
</div>
</BODY>
</HTML>
|