推荐一个练习 CSS 选择器的小游戏 CSS Diner。
标签选择器
h2 { }类选择器
.className { }ID 选择器
#id { }属性选择器
简单属性匹配
a[href] { }根据具体属性值
a[href="google.com"] { }根据部分属性值
a[href~="google.com"] { }其他一些匹配模式:
p[foo^="bar"] /*匹配开头*/p[foo$="bar"] /*匹配结尾*/p[foo*="bar"] /*包含*/
后代(上下文)选择器
- 选择后代元素
选择子元素
h1 > strong { }选择兄弟元素
h1 + p { } /* 选择紧接在一个 h1 元素后出现的所以段落,h1 与 p 有相同的父元素 */
伪类选择器和伪元素选择器
伪类选择器
a:visited {color: red;}- 静态伪类
:link :visited :first-child
:first-child伪类:用于选择作为某个未知元素的第一个子元素的指定元素。
:lang(fr)伪类:根据元素的语言来选择。不同于|=属性选择器,lang的语言信息由属性与 META 信息提供,甚至可能包括 HTTP 头信息。 动态伪类
:focus :hover :active结合伪类
推荐顺序:link-visited-focus-hover-active
- 静态伪类
伪元素选择器
设置首字母样式
p:first-letter {font-size: 200%}设置首行样式
p:first-line { }需要注意的是,应用
:first-letter :first-line的元素允许的属性是有限制的。- 设置之前和之后元素的样式h2:before {content:" "}h2:after { }
