css
*:通用选择器,匹配任何元素;
E:标签选择器,匹配所有使用E标签的元素;
.info:class选择器,匹配所有class属性中包含info的元素;
#footer:id选择器,匹配所有id属性等于footer的元素;
例:
* { margin:0; padding:0; } p { font-size:2em; } .info { background:#ff0; } p.info { background:#ff0; } p.info.error { color:#900; font-weight:bold; } #info { background:#ff0; } p#info { background:#ff0; }
多元素的组合选择器
E,F:多元素选择器,同时匹配所有E元素或F元素,EF元素件用逗号分隔;
E F:后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔
E > F:子元素选择器,匹配所有E元素的子元素F
E + F:毗邻元素选择器,匹配所有紧随E元素之后的同级元素F
例:
div p { color:#f00; } #nav li { display:inline; } #nav a { font-weight:bold; } div > strong { color:#f00; } p + p { color:#f00; }
属性选择器
E[att]:匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略,比如"[cheacked]"。以下同。)
E[att=val]:匹配所有att属性等于"val"的E元素
E[att~=val]:匹配所有att属性具有多个空格分隔的值、其中一个值等于"val"的E元素
E[att|=val]:匹配所有att属性具有多个连字号分隔(hyphen-separated)的值、其中一个值以"val"开头的E元素,主要用于lang属性,比如"en"、"en-us"、"en-gb"等等
p[title] { color:#f00; } div[class=error] { color:#f00; } td[headers~=col1] { color:#f00; } p[lang|=en] { color:#f00; } blockquote[class=quote][cite] { color:#f00; }
伪类:
E:first-child:匹配父元素的第一个子元素
E:link:匹配所有未被点击的链接
E:visited:匹配所有已被点击的链接
E:active匹配鼠标已经其上按下、还没有释放的E元素
E:hover:匹配鼠标悬停其上的E元素
E:focus:匹配获得当前焦点的E元素
E:lang(c):匹配lang属性等于c的E元素
例:
p:first-child { font-style:italic; } input[type=text]:focus { color:#000; background:#ffe; } input[type=text]:focus:hover { background:#fff; } q:lang(sv) { quotes: "\201D" "\201D" "\2019" "\2019"; }