Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «БпСцификация CSS2Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 61

Автор Π•Π²Π³Π΅Π½ΠΈΠΉ Π Π΅Π·Π½ΠΈΡ‡Π΅Π½ΠΊΠΎ

Π’ систСмС Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ TrueType Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°ΡΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эта систСма присоСдинСна ΠΊ Unicode 1.1 ΠΈ Π½Π΅ справляСтся с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Unicode - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Tibetan ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ письма, Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² Unicode 2.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… рСвизиях.

АвторскиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ Ρ‚Π°Π±Π»ΠΈΡ† стилСй Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСскрипторы ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ². Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях авторскиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡƒΡ‚Ρ‘ΠΌ локальной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ установлСнных ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ дСскрипторов для ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ссылки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ стилСй. Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ, ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ для готовности ΠΊ динамичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.

Данная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π° такая информация для ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

ДСскриптор Type 1 TrueType ΠΈ OpenType TrueType GX [TRUETYPEGX]'ascent''Ascender' Π² Ρ„Π°ΠΉΠ»Π΅ AFM/PFM 'Ascender' Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 'hhea' ΠΈΠ»ΠΈ (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅) 'sTypoAscender' Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 'OS/2' 'horizontalBefore' Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 'fmtx'baseline' Ρ‚Π°Π±Π»ΠΈΡ†Π° bsln, см. ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅ 'bbox'FontBBox, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² вхоТдСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 'head' - 'xMin', 'xMax', 'yMin' ΠΈ 'yMax' 'cap-height'CapHeight Π² Ρ„Π°ΠΉΠ»Π΅ AFM/PFM 'descent''Descender' Π² Ρ„Π°ΠΉΠ»Π΅ AFM/PFM 'mathline' Ρ‚Π°Π±Π»ΠΈΡ†Π° bsln 'font-family' FamilyName, fontinfo-ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° name'stemh' StdHW, ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Ρ„Π°ΠΉΠ»Π° AFM/PFM 'stemv' /StdVW, ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° cvt 'topline' Ρ‚Π°Π±Π»ΠΈΡ†Π° bsln 'unicode-range' cmap file Ρ‚Π°Π±Π»ΠΈΡ†Π° OS/2, см. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ 'units-per-em' FontMatrix, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² unitsPerEm, Ρ‚Π°Π±Π»ΠΈΡ†Π° head 'widths' Ρ‚Π°Π±Π»ΠΈΡ†Π° hmtx

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ bsln, ideographic centered baseline ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для растяТСний ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… идСографичСских символов, Π° ideographic low baseline большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для идСографичСских символов ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³ΠΎΠ½Π΅ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… символов Latin, Greek ΠΈΠ»ΠΈ Cyrillic.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ D. Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° CSS2

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ. Π“Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° опрСдСляСт синтаксис CSS2. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС ΠΎΠ½Π° являСтся Π½Π°Π΄Π½Π°Π±ΠΎΡ€ΠΎΠΌ CSS2, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² этой спСцификации вводятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСмантичСскиС ограничСния, Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π°Π³Π΅Π½Ρ‚Ρ‹ (ПА) Ρ‚Π°ΠΊΠΆΠ΅ обязаны ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ» Π²ΠΏΠ΅Ρ€Ρ‘Π΄-совмСстимого Ρ€Π°Π·Π±ΠΎΡ€Π°, Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ свойств ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ модуля. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ этому, язык Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ограничСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HTML Π²Π²ΠΎΠ΄ΠΈΡ‚ ограничСния Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° "class".

Π­Ρ‚ΠΎ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° LL(1) (Π½ΠΎ ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ПА Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π΅ соглашСния ΠΏΠΎ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксис CSS2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для удобства, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сокращСния Yacc (см. [YACC]):

[x]. *: 0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅

[x]. +: 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅

[x]. ?: 0 ΠΈΠ»ΠΈ 1

[x]. |: Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²

[x]. [ ]: Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:


stylesheet : [ CHARSET_SYM S* STRING S* ';' ]? [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* ; import : IMPORT_SYM S* [STRING|URI] S* [ medium [ ',' S* medium]* ]? ';' S* ; media : MEDIA_SYM S* medium [ ',' S* medium ]* '{' S* ruleset* '}' S* ; medium : IDENT S* ; page : PAGE_SYM S* IDENT? pseudo_page? S* '{' S* declaration [ ';' S* declaration ]* '}' S* ; pseudo_page : ':' IDENT ; font_face : FONT_FACE_SYM S* '{' S* declaration [ ';' S* declaration ]* '}' S* ; operator : '/' S* | ',' S* | /* empty */ ; combinator : '+' S* | '>' S* | /* empty */ ; unary_operator : '-' | '+' ; property : IDENT S* ; ruleset : selector [ ',' S* selector ]* '{' S* declaration [ ';' S* declaration ]* '}' S* ; selector : simple_selector [ combinator simple_selector ]* ; simple_selector : element_name? [ HASH | class | attrib | pseudo ]* S* ; class : '.' IDENT ; element_name : IDENT | '*' ; attrib : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S* [ IDENT | STRING ] S* ]? ']' ; pseudo : ':' [ IDENT | FUNCTION S* IDENT S* ')' ] ; declaration : property ':' S* expr prio? | /* empty */ ; prio : IMPORTANT_SYM S* ; expr : term [ operator term ]* ; term : unary_operator? [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* | TIME S* | FREQ S* | function ] | STRING S* | IDENT S* | URI S* | RGB S* | UNICODERANGE S* | hexcolor ; function : FUNCTION S* expr ')' S* /* * Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Ρ†Π²Π΅Ρ‚ обязан ΠΈΠΌΠ΅Ρ‚ΡŒ * 3 ΠΈΠ»ΠΈ 6 16-Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ (Ρ‚.Π΅., [0-9a-fA-F]) послС "#", * Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "#000" это OK, Π½ΠΎ "#abcd" - Π½Π΅Ρ‚. */ hexcolor : HASH S* ;


Π­Ρ‚ΠΎ сканСр, написанный Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Flex (см. [FLEX]). Π‘ΠΊΠ°Π½Π΅Ρ€ являСтся Π½Π΅Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ рСгистру.

Π”Π²Π° "\377" ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ наибольшСС число символа, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй Flex (дСсятСричноС 255). Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ "\4177777" (дСсятСричноС 1114111), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠ΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² Unicode/ISO-10646.


%option case-insensitive h [0-9a-f] nonascii [\200-\377] unicode \\{h}{1,6}[ \t\r\n\f]? escape {unicode}|\\[ -~\200-\377] nmstart [a-z]|{nonascii}|{escape} nmchar [a-z0-9-]|{nonascii}|{escape} string1 \"([\t !#$%&(-~]|\\{nl}|\'|{nonascii}|{escape})*\" string2 \'([\t !#$%&(-~]|\\{nl}|\"|{nonascii}|{escape})*\' ident {nmstart}{nmchar}* name {nmchar}+ num [0-9]+|[0-9]*"."[0-9]+ string {string1}|{string2} url ([!#$%&*-~]|{nonascii}|{escape})* w [ \t\r\n\f]* nl \n|\r\n|\r|\f range \?{1,6}|{h}(\?{0,5}|{h}(\?{0,4}|{h}(\?{0,3}|{h}(\?{0,2}|{h}(\??|{h}))))) %% [ \t\r\n\f]+ {return S;} \/\*[^*]*\*+([^/][^*]*\*+)*\/ /* ignore comments */ "<!--" {return CDO;} "-->" {return CDC;} "~=" {return INCLUDES;} "|=" {return DASHMATCH;} {string} {return STRING;} {ident} {return IDENT;} "#"{name} {return HASH;} "@import" {return IMPORT_SYM;} "@page" {return PAGE_SYM;} "@media" {return MEDIA_SYM;} "@font-face" {return FONT_FACE_SYM;} "@charset" {return CHARSET_SYM;} "@"{ident} {return ATKEYWORD;} "!{w}important" {return IMPORTANT_SYM;} {num}em {return EMS;} {num}ex {return EXS;} {num}px {return LENGTH;} {num}cm {return LENGTH;} {num}mm {return LENGTH;} {num}in {return LENGTH;} {num}pt {return LENGTH;} {num}pc {return LENGTH;} {num}deg {return ANGLE;} {num}rad {return ANGLE;} {num}grad {return ANGLE;} {num}ms {return TIME;} {num}s {return TIME;} {num}Hz {return FREQ;} {num}kHz {return FREQ;} {num}{ident} {return DIMEN;} {num}% {return PERCENTAGE;} {num} {return NUMBER;} "url("{w}{string}{w}")" {return URI;} "url("{w}{url}{w}")" {return URI;} {ident}"(" {return FUNCTION;} U\+{range} {return UNICODERANGE;} U\+{h}{1,6}-{h}{1,6} {return UNICODERANGE;} . {return *yytext;}


Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌ синтаксисом ΠΈ синтаксисом, спСцифицированным Π² рСкомСндациях CSS1 ([CSS1]). Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ - ΠΈΠ·-Π·Π° Π½ΠΎΠ²Ρ‹Ρ… понятий Π² CSS2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отсутствовали Π² CSS1. Π”Ρ€ΡƒΠ³ΠΈΠ΅ - ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° Π±Ρ‹Π»Π° пСрСписана, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΠΉ. Однако Π΅ΡΡ‚ΡŒ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСсовмСстимыС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π±Ρ‹ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² CSS1. Они Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅.

[x]. Π’Π°Π±Π»ΠΈΡ†Ρ‹ стилСй CSS1 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1-Π±Π°ΠΉΡ‚-Π½Π°-символ, ΠΊΠ°ΠΊ ASCII ΠΈ ISO-8859-1. CSS2 Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π±Ρ‹Π»ΠΎ ΠΌΠ°Π»ΠΎ трудностСй с экстраполированиСм сканСраа CSS1, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ПА ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ 2-Π±Π°ΠΉΡ‚Π½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

[x]. CSS1 допускал Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 16-Ρ€ΠΈΡ‡Π½Ρ‹Ρ… числа послС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слэша (\) для ссылок Π½Π° символы Unicode, CSS2 допускаСт ΡˆΠ΅ΡΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, CSS2 допускаСт символы ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π² качСствС Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΉ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. НапримСр, Π² соотвСтствии с CSS1, строка "\abcdef" ΠΈΠΌΠ΅Π΅Ρ‚ 3 Π±ΡƒΠΊΠ²Ρ‹ (\abcd, e ΠΈ f), Π° Π² соотвСтствии с CSS2 - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ (\abcdef).

[x]. Π‘ΠΈΠΌΠ²ΠΎΠ» табуляции (ASCII 9) Π² строках Π½Π΅ допускаСтся. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ строки Π² CSS1 использовались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΈΠΌΡ‘Π½ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ для URL, СдинствСнноС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСсовмСстимости ΠΌΠ΅ΠΆΠ΄Ρƒ CSS1 ΠΈ CSS2, это Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй содСрТит сСмСйство ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ символ табуляции Π² своём ΠΈΠΌΠ΅Π½ΠΈ.

[x]. Π’Π°ΠΊΠΆΠ΅ символы Π½ΠΎΠ²ΠΎΠΉ строки (escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ слэшСм) Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ Π² строках CSS1.

[x]. CSS2 Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ число со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ нСпосрСдствСнно Π·Π° Π½ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DIMEN (Ρ‚.Π΅. ΠΊΠ°ΠΊ нСизвСстный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ). CSS1 Ρ€Π°Π·Π±ΠΈΡ€Π°Π» Π΅Π³ΠΎ ΠΊΠ°ΠΊ число ΠΈ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² CSS1 объявлСниС 'font: 10pt/1.2serif' Π±Ρ‹Π»ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ, Π° Π² 'font: 10pt/12pt serif'; Π² CSS2 трСбуСтся ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΠ΅Ρ€Π΅Π΄ "serif". (НСкоторыС ПА ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.)

[x]. Π’ CSS1 имя класса ΠΌΠΎΠ³Π»ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ (".55ft"), Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ (".55in"). Π’ CSS2 Ρ‚Π°ΠΊΠΈΠ΅ классы Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ нСизвСстныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ). Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ".55ft" Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ классом, CSS2 Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрвая Ρ†ΠΈΡ„Ρ€Π° Π±Ρ‹Π»Π° escape (".\55ft")