CSS3选择器(全)

最后更新于:2022-04-01 11:56:11

### CSS选择器复习 通用选择器:* 选择到所有的元素  选择子元素:> 选择到元素的直接后代(第一级子元素)  相邻兄弟选择器:+ 选择到紧随目标元素后的第一个元素  普通兄弟选择器:~ 选择到紧随其后的所有兄弟元素  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f98e9e0.jpg) **伪元素选择器**:  ::first-line 匹配文本块的首行  ::first-letter 选择文本块的首字母  伪类选择器:  :before, :after在元素内容前面、后面添加内容(相当于行内元素)  CSS3结构选择器  :nth-child 选择指定索引处的子元素  nth-child(n) 父元素下的第n个子元素  nth-child(odd) 奇数子元素(同nth-child(2n-1))  nth-child(even) 偶数子元素(同nth-child(2n))  nth-child(an+b) 公式  (nth-child从1开始)  :nth-last-child(n) 倒数第n个子元素  :nth-of-type(n) 父元素下的第n个指定类型的子元素  :nth-last-of-type 父元素下的倒数第n个指定类型的子元素  :first-child 选择父元素下的第一个子元素  :last-child 选择父元素下的最后一个子元素  :only-child 选择父元素下唯一的子元素  :only-of-type 选择父元素下指定类型的唯一子元素  :root 选择文档的根目录,返回html  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f9a34b8.jpg) div :only-child注意空格(选中div下唯一的子元素)  **伪类选择器**  :link指向未被访问页面的链接设置样式  :visited设置指向已访问页面的链接的样式  :hover鼠标悬停时触发  :active在点击时触发  :enabled 选择启用状态元素  :disabled 选择禁用状态元素  :checked 选择被选中的input元素(单选按钮或复选框)  :default 选择默认元素  :valid、invalid 根据输入验证选择有效或无效的input元素  :in-range、out-of-range 选择指定范围之内或者之外受限的元素  :repuired、optional 根据是否允许:required属性选择input元素  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f9b654c.jpg)  如果将link的颜色设置的与visited相同,则页面打开时,link的样式被visited样式覆盖,如上,a标签显示的字体颜色为绿色。  但是如果设置为不同的属性,可以呈现出叠加的效果。  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f9c97e3.jpg)  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f9de323.jpg) 点击a标签时,字体的颜色为黄色。  利用label修改radio的样式:如下: ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Keywords" content="关键词一,关键词二"> <meta name="Description" content="网站描述内容"> <meta name="Author" content="刘艳"> <title></title> <style> input[type="radio"]{display: none;} label{display: inline-block;width: 24px;height: 24px; border-radius: 50%;border: 1px solid #ccc;margin: 5px;} :checked + label{background: #00b3ee;} </style> </head> <body> <input type="radio" name = "fruit" id = "check1"/> <label for="check1"></label> <input type="radio" name = "fruit" id = "check2"/> <label for="check2"></label> <input type="radio" name = "fruit" id = "check3"/> <label for="check3"></label> <input type="radio" name = "fruit" id = "check4"/> <label for="check4"></label> </body> </html> ~~~ 实现的效果:  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603f9f01a7.jpg) **:default** ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Keywords" content="关键词一,关键词二"> <meta name="Description" content="网站描述内容"> <meta name="Author" content="刘艳"> <title></title> <style> :default{background: #009FE6;} </style> </head> <body> <form> <input type="text"> <button>按钮</button> <input type="submit" value="提交"> </form> </body> </html> ~~~ form表单中默认获取到焦点的是Button按钮  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603fa0e467.jpg) 属性选择器  E[attr] 属性名,不确定具体属性值  E[attr=”value”] 指定属性名,并指定其对应属性值  E[attr ~=”value”] 指定属性名,找到的是具有此属性名,且与其它属性名之间用空格隔开,如下:  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603fa1f4e4.jpg)  E[attr ^= “value”] 指定属性名,属性值以value开头  E[attr $=”value”] 指定属性名,属性值以value结束  E[attr *=”value”] 指定了属性名,属性值中包含了value  E[attr |= “value”] 指定属性名,属性值以value-开头或者值为value  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-07_570603fa3200d.jpg)
';