CSS 3 选择器解释

2016-03-02    编辑:csser     点击(

Roger Johansson (这个老外仿佛是参与编订 W3C 的家伙)前几天写了一个关于CSS 3的文章:CSS 3 selectors explained 里面说了去年12月份w3c最新制定的CSS 3的新标签、新用法,我用机器翻译看着也蛮爽的,把看得懂的摘录下来,大家也学习一下先进经验。呵呵~
在CSS 3里,假设你做了一个包含以下标签结构的HTML文件:
<div id="nav-primary"></div>
<div id="content-primary"></div>
<div id="content-secondary"></div>
<div id="tertiary-content"></div>
<div id="nav-secondary"></div>
然后呢,在CSS文件里
div[id^="nav"] { background:#ff0; }
注意是“^”
CSS在这种情况下将控制[u]div#nav-primary 和div#nav-secondary[/u]。请大家注意,这两个标签前面都有 nav ,到底是以"-"做为分隔,还是把ID进行从前至后匹配就不得而知了 [sweat]
div[id$="primary"] { background:#ff0; }
注意是“$”
CSS在这种情况下将控制[u]div#nav-primary 和div#content-primary[/u]。请大家注意,这两个标签后面都有 primar ,到底是以"-"做为分隔,还是把ID进行从后至前匹配也就不得而知了 [sweat]
div[id*="content"] { background:#ff0; }
注意是“*”
CSS在这种情况下将控制[u]div#content-primary div#content-secondary 和div#tertiary-content[/u]。请大家注意,这些标签都含有 content ,到底是以"-"做为分隔,还是把ID自动扫描后匹配就更不得而知了 [sweat]
好象作者说这几个标签现在除了IE不支持,其它最新版的各种浏览器都支持了,大家可以一试,我就不试了~ [lol]
div#content-primary:target { outline:1px solid #300; }
注意那个“:target”
CSS在这种情况下将控制 http: //www.example.com/index.html#content-primary 这个锚链接(锚链接差不多可以理解就是一个网页内的链接,比较在有些网页看到的回到顶部)
作者说现在Mozilla 和 Safari浏览器支持这个
input[type="text"]:enabled { background:#ffc; }
input[type="text"]:disabled { background:#ddd; }
注意那个“[type="text"]:enabled”
这个就是控制表单的CSS了,“[u][type="text"][/u]”好象是表单里type是text的吧。。。那[u]type="password"[/u]会是啥呢?
input:checked { border:1px solid #090; }