CSS2.1是CSS(層疊樣式表)的第二級第一次修訂版,其基於CSS2構建,後者基於CSS1構建。其支持指定媒體的樣式表,所以作者可以為他們的文檔定製在視覺瀏覽器、聽覺設備、印表機、盲文設備、手持設備,等上的表現。它也支持內容定位、表格布局、國際化和用戶界面相關的一些屬性。
CSS2.1糾正了CSS2中的一些錯誤(最重要的是重新定義了絕對定位元素的height/width,HTML的“style”屬性和重新計算的'clip'屬性,影像較大),並添加了一些已經被廣泛實現的特性。但是CSS2.1是進化中的CSS的一個“快照”:包含所有在發布推薦日期之前已經被實現的特性。
CSS2.1的意圖是取代CSS2。CSS2中的有些部分在CSS2.1中並未改變,有些做了修改,並且有些被刪除了,移除的部分在CSS3規範中重新出現。
基本介紹
- 中文名:層疊樣式表2級修訂版1
- 外文名:Cascading Style Sheets Level 2 Revision 1
- 成為標準時間:2011年4月12日
發布背景
- 兼容CSS2中已經被廣泛接受和實現的部分。
- 整理所有已經發布的CSS2勘誤表。
- 在實現和CSS2規範完全不同的地方,將規範修改成普遍接受的慣例。
- 刪除將在CSS3中廢棄的CSS2特性,以鼓勵採用CSS3特性。
- 加入(很)少數的一些在實現的經驗所表明的他們需要在CSS2中實現的新屬性值。
語法區別
- CSS1樣式表只能用每字元1位元組的編碼,例如,ASCII和ISO-8859-1。CSS2.1沒有這樣的限制。實際上,推斷CSS1符號化幾乎沒什麼困難,並且有些UA已經接受了2位元組編碼
- CSS1隻允許斜線(\)後面有4個十六進制數字,來表示Unicode字元,CSS2允許6個。而且,CSS2允許用一個空白字元來分隔轉義序列。例如,按照CSS1,字元串"\abcdef"有三個字母(\abcd,e和f),按照CSS2的話,它只有一個字母(\abcdef)
- 制表符(ASCII 9)不允許出現在字元串中。然而,因為CSS1中的字元串只用於字型名和URL,這會導致CSS1和CSS2不兼容的唯一方式就是如果一個樣式表中有名字中含有制表符的字型族
- 同樣的,CSS1中,換行(用斜線轉義)也不允許出現在字元串中
- CSS2會把後面緊跟著一個標識符的數字解析為一個DIMENSION token(即,一個未知單位),CSS1把它解析為一個數字和一個標識符。這意味著在CSS1中,聲明'font: 10pt/1.2serif'是正確的,和'font: 10pt/12pt serif'一樣,在CSS2中,"serif"前面需要一個空格(有些UA接受第一種示例,但不接受第二種)
- 在CSS1中,一個類名可以以數字開頭(".55ft"),除非它是一個尺寸(".55in")。在CSS2中,這樣的類會被解析為未知尺寸(為了允許將來添加新單位)。要讓".55ft"變成一個合法的類,CSS2需要轉義第一個數字(".\35 5ft")