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

小议使用“完整”的CSS的缺点的更多相关文章

  1. css样式大全,完整的Css样式大全(整理)

    CSS样式被称为为“层叠样式表”,是一种网页制作做不可或缺的技术,是用于装饰网页,达到设计效果的一种样式语言,下面将整理一下css常用样式: 字体属性:(font) 大小 {font-size: x- ...

  2. 1CSS简介

    -------------------------------------------------------------------------------------------------- - ...

  3. CsQuery获取IDomObject元素的完整CSS选择器

    一.方法说明 通过IDomObject元素,获取完整的CSS选择器,过滤HTML和BODY元素,自动将class.id添加到选择器上,优先添加class,无class再添加id.如: <html ...

  4. CSS 禁止浏览器滚动条的方法(转)

    1.完全隐藏 在<boby>里加入scroll="no",可隐藏滚动条: <boby scroll="no"> 这个我用的时候完全没效果 ...

  5. 解决子级用css float浮动 而父级div没高度不能自适应高度

    解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法. 最外层的父级DIV不能自适应高度-不能随对象撑开没有高度 当在对象内的盒子 ...

  6. css隐藏滚动条

    xhtml中隐藏滚动条在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transi ...

  7. CSS| 解决子级用css float浮动 而父级div没高度不能自适应高度

    解决子级用css float浮动 而父级div没高度不能自适应高度 解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法. 最外层 ...

  8. css sprites拼合

    一.什么是css sprites css sprites直译过来就是CSS精灵.通常被解释为“CSS图像拼合”或“CSS贴图定位”.就是把网页中一些背景图片整合拼合成一张图片中,再利用DIV CSS的 ...

  9. CSS怎么隐藏滚动条(三种方法)

    xhtml中隐藏滚动条在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transi ...

随机推荐

  1. loadrunner参数取值方法总结

    在参数设置位置有两个地方:Select next row –下一行的取值方式(针对用户)Sequential 顺序的,即所有用户都是按照同一种方式取值(都是按照Update value on方式取值, ...

  2. 使用 JQuery 实现将 table 按照列排序

    使用 JQuery 实现将 table 按照列排序 使用 JQuery 实现将 table 按照列排序 代码如下 <!DOCTYPE html> <html> <head ...

  3. 《java虚拟机》----java内存模型与线程

    No1. No2. java内存模型规定了所有的变量都存储在主内存中(Main Memory)中 每条线程还有自己的工作内存(Working Memory) 线程的工作内存中保存了被该线程使用到的变量 ...

  4. Shiro的鉴权方式

    一. 怎么用 Shiro 支持三种方式的授权 编程式:通过写 if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(sub ...

  5. Node.js后台开发初体验

    Node.js是什么 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质时对Chrome V8引擎进行了封装 Node.js安装 ...

  6. 在Azure中创建asp.net core 应用

    0.前言 在玩转Azure之前首先大家要有Azure账号,或者可以先申请一下微软的账号,然后进行与Azure的关联(azure账号是免费的).但是关联的步骤还是很有意思的,他需要VISA国际信用卡(我 ...

  7. python __str__ , __repr__区别

    Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数. 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式 (如果没有等价的语法,则会 ...

  8. hashMap原理剖析

    在日常开发中,hashMap应该算是比较常用的一个类了,今天就来学习一下hashMap的实现原理. 概念 1.什么时hash? 书面定义:就是把一个不固定长度的二进制值映射成一个固定长度的二进制值. ...

  9. android jni c C++ 实现下载

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android jni c C++ 实现下载

  10. mui实现列表的下拉刷新上拉加载

    1.引入mui控件的js文件和css样式文件 <link rel="stylesheet" href="css/mui.min.css"> < ...