博客列表 >选择器及伪类

选择器及伪类

leverWang
leverWang原创
2020年06月17日 11:09:57826浏览

1.简单选择器

  • 元素选择器:选择器名和指定的html元素名不区分大小写进行匹配
  • 类选择器: 用(.)来标记 ,单个元素可以拥有多个类名
  • id选择器:用(#)来标记, id名称具有唯一性
  • 通用选择:用(*)来标记 ,选择一个页面中所有的元素
  1. <style>
  2. /* 元素选择器 */
  3. h1 {
  4. color: red;
  5. }
  6. .example {
  7. color: blue;
  8. }
  9. #example {
  10. color: green;
  11. }
  12. </style>
  13. <h1>元素选择器示例</h1>
  14. <p class="example">类选择器</p>
  15. <p id='example '>id选择器</p>


2.后代选择器:后代选择器可以选择作为某元素后代的元素

  1. <style>
  2. /* 后代选择器 */
  3. .example p {
  4. background: hotpink;
  5. }
  6. </style>
  7. <div class="example">
  8. <p>1</p>
  9. <p>2</p>
  10. <p>3</p>
  11. </div>

如图后代选择器选择了example下的所有P元素

3.子元素选择器 (>):与后代选择器相比,子元素选择器只能选择作为某元素子元素的元素。

  1. <style>
  2. /* 后代选择器 */
  3. .example>p {
  4. background: hotpink;
  5. }
  6. </style>
  7. <div class="example">
  8. <p>
  9. 1111111111
  10. </p>
  11. <div>
  12. <p>2222222222222</p>
  13. </div>
  14. </div>

4.相邻兄弟选择器(+):选择紧连着另一元素后的元素,二者具有相同的父元素。只会选择一个相邻的匹配元素

  1. <style>
  2. /* 相邻兄弟选择器 */
  3. h1+h2 {
  4. background: hotpink;
  5. }
  6. </style>
  7. <div class="example">
  8. <h1>ssssssssssssssss</h1>
  9. <h2>s111111111111</h2>
  10. <h2>s2222222222222</h2>
  11. <div>
  12. <p>s33333333</p>
  13. </div>
  14. </div>

5.后续兄弟选择器(~):选取所有指定元素之后的相邻兄弟元素。

  1. <style>
  2. /* 后续兄弟选择器 */
  3. h1~h2 {
  4. background: hotpink;
  5. }
  6. </style>
  7. <div class="example">
  8. <h1>ssssssssssssssss</h1>
  9. <h2>s111111111111</h2>
  10. <p>33333333333333</p>
  11. <h2>s2222222222222</h2>
  12. </div>


6.结构伪类选择器

选择器 说明
:first-child 选择元素中的第一个子元素。
:last-child 选择元素的最后一个子元素。
:nth-child(n) 定位某个父元素的一个或多个特定的子元素。其中 n 为参数。(参数n的起始值为1)
:nth-of-type(n) 选择器匹配同类型中的第n个同级兄弟元素。n可以是一个数字,一个关键字,或者一个公式。
  1. <style>
  2. /* 选择第一个子元素 */
  3. .example :first-child {
  4. background: lightpink;
  5. }
  6. /* 选择最后一个子元素 */
  7. .example :last-child {
  8. background: limegreen;
  9. }
  10. /* 选偶数行 */
  11. .example :nth-child(2n) {
  12. background: rgb(69, 6, 121);
  13. }
  14. /* 选奇数数行 */
  15. .example :nth-child(2n-1) {
  16. background: rgb(0, 107, 156);
  17. }
  18. /* 选择第三个元素为起点的后面所有元素,n从0开始计数, 3为起始位置 */
  19. .example :nth-child(n+3) {
  20. background: pink;
  21. }
  22. /* 选择第三个元素为起点的前面的所有元素,n从0开始计数, 3为起始位置 */
  23. .example :nth-child(-n+3) {
  24. background: rgb(148, 1, 26);
  25. }
  26. /* 选择第一个p标签分组中 偶数行 */
  27. .example>p:nth-of-type(2n) {
  28. background: rgb(128, 128, 128);
  29. }
  30. /* 选择第一个p标签分组中 奇数行 */
  31. .example>p:nth-of-type(2n-1) {
  32. background: rgb(128, 128, 128);
  33. }
  34. </style>
  35. <div class="example">
  36. <li class="item1">1</li>
  37. <li class="item2">2</li>
  38. <li class="item3">3</li>
  39. <li class="item4">4</li>
  40. <li class="item5">5</li>
  41. <li class="item6">6</li>
  42. <p class="item7">7</p>
  43. <li class="item8">8</li>
  44. <p class="item9">9</p>
  45. <p class="item10">10</p>
  46. <p class="item11">11</p>
  47. <p class="item12">12</p>
  48. <p class="item13">13</p>
  49. </div>
选择器 说明
:target 用于选取当前活动的目标元素。当 URL 末尾带有锚名称 #,就可以指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。它需要一个 id 去匹配文档中的 target
:not 选择器匹配每个元素是不是指定的元素/选择器
:before 选择器向选定的元素前插入内容。使用content 属性来指定要插入的内容。
:after 选择器向选定的元素之后插入内容。 使用content 属性来指定要插入的内容。
:focus 选择器用于选择具有焦点的元素。

:target示例:

  1. <style>
  2. #example:target {
  3. background: lightpink;
  4. }
  5. </style>
  6. <a href="#example">点击为div添加背景</a>
  7. <div id="example">DIV</div>

:not示例:

  1. <style>
  2. /* 选择非P的元素 */
  3. .example :not(p) {
  4. color: red;
  5. }
  6. </style>
  7. <div class="example">
  8. <h1>aaaaaaaaaaa</h1>
  9. <p> 11111111</p>
  10. <p> 22222222</p>
  11. <div>3333333333</div>
  12. <a href=" " target="_blank">444444444444</a>
  13. </div>

:before

  1. <style>
  2. /* 在h1前面插入文字 */
  3. .example>h1::before {
  4. content: "插入文字 ";
  5. }
  6. </style>
  7. <div class="example">
  8. <h1>aaaaaaaaaaa</h1>
  9. <p> 11111111</p>
  10. <p> 22222222</p>
  11. <div>3333333333</div>
  12. <a href=" " target="_blank">444444444444</a>
  13. </div>

:after 示例

  1. <style>
  2. /* 在h1后面插入文字 */
  3. .example>h1::after {
  4. content: "插入文字 ";
  5. }
  6. </style>
  7. <div class="example">
  8. <h1>aaaaaaaaaaa</h1>
  9. <p> 11111111</p>
  10. <p> 22222222</p>
  11. <div>3333333333</div>
  12. <a href=" " target="_blank">444444444444</a>
  13. </div>

:focus 示例

  1. <style>
  2. /* 为文本框添加焦点样式 */
  3. input:focus {
  4. background: lightgreen;
  5. }
  6. </style>
  7. <form>
  8. name: <input type="text" name="name" /><br>
  9. gender: <input type="text" name="gender" />
  10. </form>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议