1、瀏覽器支持的不一致性
覽器的漏洞或缺乏支持的CSS功能,導致不同的瀏覽器顯示出不同的CSS版面編排。例如
在微軟Internet Explorer6.0的舊版本 ,執行了許多自己的CSS2.0屬性,曲解了很多重要的屬性,例
如:width,height,和float。許多所謂的CSS人員,必須在最熱門的或常用的瀏覽器中達到一致的版面編排。在不同的瀏覽器中,要達到像素
精準的版面編排,有時候是不可能的。
?
2、CSS沒有父層選擇器
CSS選擇器無法提供元素的父層或繼承性,以
符合某種程度上的標準。先進的選擇器(例如 XPath)有助于復雜的樣式設計。然而,瀏覽器的性能和增加彩現的問題關系著父層選擇器,卻是CSS的工作
群組拒絕建議的主要原因。
3、不能明確地指定繼承性
樣式的繼承性,建立在瀏覽器中DOM元素的層級和具體的
規則上。
4、垂直控制的局限
?
元素的水平放置普遍地易于控制,垂直控制則非憑直覺性的、較迂回的甚至是不可能
的。簡單來說,例如:垂直地圍繞一個元素、頁尾的放置不能高于可見視窗(viewport,視窗或屏幕的可見范圍)的底部范圍、需要復雜而非憑直覺性的樣
式規則,或是簡單但不被廣泛支持的規則。
?
5、顯示的缺乏
?
目前的CSS沒有辦法明確又簡單的顯示屬性值(例
如:margin-left: 10% - 3em +4px;)。這在很多情況下都是非常有用的,例如:總字段中計算字段的尺寸限制。無論如
何,CSS WG發表了CSS局限性的草案,而InternetExplorer 5 以后的版本支持相似功能的語法顯示。
?
6、缺乏正交性
?
同樣的效果可以用不同的屬性來完成,這經常會造成困擾。例如position、display與float定義了不同的配置方
式,而且不能有效的交替使用。 一個display: table-cell元素不能指定 float或是position: relative,因為指
定float:left的元素不應該受到display效果的影響。再者,沒有考慮到新建立屬性所造成的影響,例如在表格中你應該使用border-
spacing而不是margin-*來指定表格元素。這是因為依照CSS準則,表格內部元素是沒有邊界(margin)的。
已有 0 人發表留言,猛擊->>這里<<-參與討論
JavaEye推薦
文章來源:http://justjavac.javaeye.com/blog/652871