欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

小议使用“完整”的CSS的缺点_html/css_WEB-ITnose

程序员文章站 2022-04-26 09:01:26
...

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)的。