别误会,IE是不支持CSS3高级选择器,包括最新的IE8(详见《CSS选择器的浏览器支持》),但是CSS选择器的确是很有用的,它可以大大的简化我们的工作,提高我们的代码效率,并让我们很方便的制作高可维护性的页面。 然而IE对高级CSS选择器特别是CSS3选择器的支持让我们一直不能将CSS选择器推广应用。不过,虽然我们无法左右浏览器的市场份额,却可以通过一些技术改善我们的工作。我们也可以使用其它的一些技术,让IE可以变相支持CSS3选择器。 一位来自英国的网页开发工程师Keith Clark开发了一个JavaScript方案来使IE支持CSS3选择器。该脚本支持从IE5到IE8的各个版本。 用法 你只需要下载Robert Nyman的DOMAssistant脚本和ie-css3.js并将它们在你的页面的head标签中导入,如下: <head> <script type="text/javascript" src="DOMAssistantCompressed-2.7.4.js"></script> <script type="text/javascript" src="ie-css3.js"></script> </head> 支持的选择器 nth-child nth-last-child nth-of-type nth-last-of-type first-child last-child only-child first-of-type last-of-type only-of-type empty ie-css3的一些限制 样式表必须通过《link》标签引入。页面级的样式表或者内联的样式表将无效。不过 可以在外部样式文件中使用@import 导入其它样式文件; 样式表文件必须和页面放在同一个域名下面; 使用file://路径的样式文件将由于浏览器的安全问题而不起作用; :not()选择器尚不支持; 该方法不是动态的,样式被应用之后再改变DOM,将会无效。 如何工作的? ie-css3.js下载页面的每一个样式文件并解析它的CSS3伪选择器。如果一个选择器被找到,它就会被替换为同名的CSS class。比如: div:nth-child(2) 将会变成 div._iecss-nth-child-2 。然后,Robert Nyman的DOMAssistant用于寻找匹配元素CSS3选择器的DOM节点然后将相应的CSS类添加给它。 最终,元素的样式表会被新的版本替代,然后用CSS3选择器对相应元素添加对应的样式。 避免IE的CSS解释器 根据W3C的规定,一个浏览器应该无视它不认识的CSS规则。这就出现一个问题——我们需要利用样式表文件中的CSS3选择器,但是IE会将它们丢弃。 为了避免这个问题,每一个样式文件都会通过XMLHttpRequest下载。这允许该脚本绕开浏览器内置的CSS解释器并能够读取原始的CSS文件。
@media (min-width: 992px)
允许 浏览器可视范围 最小大小 为 992px,当 浏览器可视范围的大小 ≥ 992px 时, .container 的最大宽度 为 970px,
即,无论 浏览器放到多大,只要它不少于 992px ,.container 的宽度始终为 970px。
当 浏览器可视范围 小于 992px 时,.container 中的设置无效。
这里.container 中,应该还有设置一个默认的值。
再举例:
@media(max-width:1000px){
.container{
max-width:970px
}
}
同理,这里的 @media{max-width:1000px} 就是 允许 浏览器最大宽度 为 1000px,时它小于 1000px 时,.container 中的 值才会生效,反即失效。
也就是说:
@media{} 中的值,是 允许条件 ,当这条件成立时,它中的内容才会生效。
详细翻译即为:
如果浏览器的 宽度 小于或等于 1000px 时(注:理解好最大宽度为啥意思,最小宽度 即为 大于或等于这个值),.container 中的最大宽度为 970px,无论浏览器被缩到多少,.container 的宽度始终为 970px,但是当 大于 1000px 时,.container 中的值就为无效。
@media 中也可以写个固定宽度值,如:
@media(wdith:1000px){
.container{
width:970px
}
}
浏览器宽度等于 1000px 时,.container 宽度即为 970px ,显然,这绝对等于的值,设置起来无意义的。
以上~
自测得出的结果……
一、X:nth-child(n) li:nth-child(3) { color: red}接下来的几个伪类选择器使用上非常类似,功能也比较接近。 :nth-child(n),用于匹配索引值为n的子元素。索引值从1开始。 X:nth-child()用法实际上有三种变化,demo的用法是最简单的,X:nth-child()更强大的用处在于奇偶匹配,明河不展开讲,有兴趣的请看《Understanding :nth-child Pseudo-class Expressions》,《CSS3 :nth-child()伪类选择器》 二、X:nth-last-child(n) li:nth-last-child(2) { color: red}:nth-child(n),是从第一个开始算索引,而X:nth-last-child(n)是从最后一个开始算索引。