博客列表 >CSS选择器

CSS选择器

天涯
天涯原创
2020年06月16日 13:53:41825浏览

CSS选择器

举例用的基础HTML代码:

  1. <body>
  2. <div class="container">
  3. <div class="item">1</div>
  4. <div class="item">2</div>
  5. <div class="item">3</div>
  6. <div class="item">4</div>
  7. <div class="item center">5</div>
  8. <div class="item">6</div>
  9. <div class="item">7</div>
  10. <div class="item">8</div>
  11. <div class="item">9</div>
  12. </div>
  13. </body>

简单选择器

选择器 说明 代码演示
元素选择器 直接引用标签名 p{background-color: red;}
类选择器 对应html中标签的class属性 .item{background-color: red;}
多个类复合选择 对应class属性值为多个名称 .item.center{background-color: red;}
id选择器 对应html中标签的id属性 #firstr{background-color: red;}

同条件下的元素,在层叠样式后,只有最后一个选择器生效

基本选择器

选择器 说明 连接符 代码演示
后代选择器 当前元素的后代元素,只支持一级 空格 .container div{background-color: red;}
父子选择器 当前元素下的子级元素,选择所有子、孙元素 > body > div{background-color: red;}
同级相邻选择器 当前元素的同级元素,只支持一级 + .item.center + .item {background-color: red;}
同级所有选择器 当前元素的同级元素下所有元素 ~ .item.center ~ .item{background-color: red;}

结构伪类选择器

举例用的基础HTML代码:

  1. <body>
  2. <div class="container">
  3. <div class="item">1</div>
  4. <div class="item">2</div>
  5. <div class="item">3</div>
  6. <div class="item">4</div>
  7. <div class="item">5</div>
  8. <div class="item">6</div>
  9. <div class="item">7</div>
  10. <div class="item">8</div>
  11. <div class="item">9</div>
  12. </div>
  13. </body>

不分组

无组名,用:打头,后面跟关键字,可加参数。

功能 关键字 代码演示
匹配第一个子元素 :first-child .container > :first-child {background-color: lightgreen; }
最后一个子元素 :last-child .container > :last-child {background-color: lightgreen; }
选第3个 :nth-child(3) .container > :nth-child(3) {background-color: lightgreen; }
只选择偶数单元格 :nth-child(2n):nth-child(even) .container > :nth-child(even) {background-color: lightgreen; }
只选择奇数单元格 :nth-child(2n-1):nth-child(odd) .container > :nth-child(odd) {background-color: lightgreen; }
从指定位置开始后面剩下的所有元素 :nth-child(n + 4) 从第4个开始后面所有的 .container > :nth-child(n + 4) {background-color: lightgreen; }
只取前几个 :nth-child(-n + 3) 前3个 .container > :nth-child(-n + 3) {background-color: lightgreen; }
只取最后几个 :nth-last-child(-n + 3) 最后3个 .container > :nth-last-child(-n + 3) {background-color: lightgreen; }
倒数的方式取数 :nth-last-child(2) 倒数第2个 .container > :nth-last-child(2) {background-color: lightgreen; }

分组

和不分组的区别:在前面加上组名,并且第一步先分组,第二步根据组中的索引进行选择。
关键字用 of-type结尾。

基础HTML代码:

  1. <body>
  2. <div class="container">
  3. <div class="item">1</div>
  4. <div class="item">2</div>
  5. <div class="item">3</div>
  6. <span class="item">4</span>
  7. <span class="item">5</span>
  8. <span class="item">6</span>
  9. <span class="item">7</span>
  10. <span class="item">8</span>
  11. <span class="item">9</span>
  12. </div>
  13. </body>

关键字举例说明:

关键字 说明
.container div:last-of-type container下的所有div元素
.container span:nth-of-type(3) container下的所有span元素中的第3个元素
.container span:nth-of-type(-n + 3) container下的所有span元素中的前3个元素

.container span:nth-last-of-type(-n + 2) |取container下的所有span元素中的最后第2个元素|

伪类

CSS 伪类用于向某些选择器添加特殊的效果

伪类用:标识

关键字 说明 代码
:targer 与id配合使用,实现锚点操作 #login-form:target { display: block; } #login-form为锚点,即id值
:focus 与表单中的输入对象配合使用,得到焦点后改变样式 input:focus {background-color: yellow;} input为表单内输入框
::selection 当选中文本时作用,仅能改变文本的前景色与背景色 input::selection { color: white; background-color: red; }
:not() 反向选择。“()”内填写排除条件 .list > :not(:nth-of-type(3)) { color: red; } :nth-of-type(3)指当前元素组下的第3个元素

伪元素

CSS 伪元素为虚拟元素,不体现在文档源码中

伪元素用::标识

关键字 说明 代码
::before 在当前元素的前面虚拟一个元素 .list::before {content: "购物车";color: blue;} .list为一个列表类
::after 在当前元素的后面虚拟一个元素 .list::after {content: "结算中...";color: red;font-size: 1.1rem;}

伪元素效果如下:伪元素效果

上一条:伪类与伪元素下一条:CSS选择器
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议