您的位置:首页 > Web前端 > CSS

在书写高效 CSS 时会有哪些问题需要考虑?

2014-12-30 21:03 295 查看
1.样式是:浏览器是从右向左来解析一个选择器的
2.ID最快,Universal最慢 有四种类型的key selector,解析速度由快到慢依次是:ID、class、tag和universal
3.不要tag-qualify (永远不要这样做 ul#main-navigation { } ID已经是唯一的,不需要Tag来标识,这样做会让选择器变慢。)
4.后代选择器最糟糕(换句话说,下面这个选择器是很低效的: html body ul li a { })
5.想清楚你为什么这样写
6.CSS3的效率问题(CSS3选择器(比如 :nth-child)能够漂亮的定位我们想要的元素,又能保证我们的CSS整洁易读。但是这些神奇的选择器会浪费很多的浏览器资源。)
7.我们知道#ID速度是最快的,那么我们都用ID,是不是很快。但是我们不应该为了效率而牺牲可读性和可维护性


注意:两种新增的Css3伪选择器。 1、UI元素状态伪类 我们把":enabled",":disabled",":checked"伪类称为UI元素状态伪类,这些主要是针对于HTML中的Form元素操作,最常见的比如我们"type="text"有enable和disabled两种状态,前者为可写状态后者为不可状态;另外"type="radio"和"type="checkbox""有"checked"和"unchecked"两种状态。来看两个实例,比如说你想将"disabled"的文本框与别的文本框区别出来,你就可以这样应用 input[type="text"]:disabled {border:1px solid #999;background-color: #fefefe;} 这样一来就把页面中禁用的文本框应用了一个不同的样式。那么对于其他几个用法是一样的,这里就不在讲述。IE6-8不支持":checked",":enabled",":disabled"这三种选择器。 2、CSS3的:nth选择器 这节内容才是关键,也是CSS3选择器最新部分,有人也称这种选择器为CSS3结构类,下面我们通过实际的应用来具体了解他们的使用和区别,首先列出他具有的选择方法: :fist-child选择某个元素的第一个子元素; :last-child选择某个元素的最后一个子元素; :nth-child()选择某个元素的一个或多个特定的子元素; :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算; :nth-of-type()选择指定的元素; :nth-last-of-type()选择指定的元素,从元素的最后一个开始计算; :first-of-type选择一个上级元素下的第一个同类子元素; :last-of-type选择一个上级元素的最后一个同类子元素; nly-child选择的元素是它的父元素的唯一一个了元素; nly-of-type选择一个元素是它的上级元素的唯一一个相同类型的子元素; :empty选择的元素里面没有任何内容。 这些伪选择器属于CSS3新增的,如果打击向熟练掌握一定要熟练掌握其性能。 两种新增的Css3伪选择器。 1、UI元素状态伪类 我们把":enabled",":disabled",":checked"伪类称为UI元素状态伪类,这些主要是针对于HTML中的Form元素操作,最常见的比如我们"type="text"有enable和disabled两种状态,前者为可写状态后者为不可状态;另外"type="radio"和"type="checkbox""有"checked"和"unchecked"两种状态。来看两个实例,比如说你想将"disabled"的文本框与别的文本框区别出来,你就可以这样应用 input[type="text"]:disabled {border:1px solid #999;background-color: #fefefe;} 这样一来就把页面中禁用的文本框应用了一个不同的样式。那么对于其他几个用法是一样的,这里就不在讲述。IE6-8不支持":checked",":enabled",":disabled"这三种选择器。 2、CSS3的:nth选择器 这节内容才是关键,也是CSS3选择器最新部分,有人也称这种选择器为CSS3结构类,下面我们通过实际的应用来具体了解他们的使用和区别,首先列出他具有的选择方法: :fist-child选择某个元素的第一个子元素; :last-child选择某个元素的最后一个子元素; :nth-child()选择某个元素的一个或多个特定的子元素; :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算; :nth-of-type()选择指定的元素; :nth-last-of-type()选择指定的元素,从元素的最后一个开始计算; :first-of-type选择一个上级元素下的第一个同类子元素; :last-of-type选择一个上级元素的最后一个同类子元素; nly-child选择的元素是它的父元素的唯一一个了元素; nly-of-type选择一个元素是它的上级元素的唯一一个相同类型的子元素; :empty选择的元素里面没有任何内容。 这些伪选择器属于CSS3新增的,如果打击向熟练掌握一定要熟练掌握其性能。 

结构性伪类选择器

1.  四个最基本的:root、not、empty、target

2. first-child、last-child、nth-child、nth-last-child、
nth-child(odd)、nth-child(even)、nth-last-child(odd)、nth-last-child(even)

3.  nth-of-type、nth-last-of-type
4. 循环使用样式
5. only-child
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐