博客列表 >CSS:基本选择器、层级选择器、选择器权重优先级

CSS:基本选择器、层级选择器、选择器权重优先级

异乡客
异乡客原创
2021年12月24日 19:18:24459浏览
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>选择器1:基本选择器</title>
  8. </head>
  9. <body>
  10. <h2>itme1</h2>
  11. <h2 title="hello">itme2</h2>
  12. <h2 id="a">item3</h2>
  13. <h2 id="a">item4</h2>
  14. <h2 class="b">item5</h2>
  15. <h2 class="b">item6</h2>
  16. <style>
  17. /* 基本选择器:根据元素自身特点来选择 */
  18. /* 1.标签选择器 */
  19. h2 {
  20. color: red;
  21. }
  22. /* 2.属性选择器 */
  23. h2[title="hello"] {
  24. color: green;
  25. }
  26. /* 3.id选择器,用于唯一元素,id唯一性由程序员控制,浏览器不检查 */
  27. h2[id="a"] {
  28. color: blue;
  29. }
  30. /* 4.class类选择器 ,用于多个元素*/
  31. h2[class="b"] {
  32. color: violet;
  33. }
  34. /* id ,class是高频属性 */
  35. h2#a,
  36. h2.b {
  37. /* color: orange; */
  38. background-color: yellow;
  39. }
  40. /* 层叠样式表,后面的覆盖前面的 */
  41. /* 通配符,选择下面所有的元素 */
  42. html body * {
  43. background-color: gray;
  44. /* background-color: gray !important; */
  45. /* !important;//提权到100%,优先级别最高 */
  46. }
  47. /* 上下文选择器 */
  48. </style>
  49. </body>
  50. </html>

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>选择器2:层级选择器/上下文选择器</title>
  8. </head>
  9. <body>
  10. <!-- ul.list>li.item*8{itme$} -->
  11. <ul class="list">
  12. <li class="item">itme1</li>
  13. <li class="item second">itme2</li>
  14. <li class="item">
  15. itme3
  16. <!-- ul.inner>li*3{item3_$} -->
  17. <ul class="inner">
  18. <li>item3_1</li>
  19. <li>item3_2</li>
  20. <li>item3_3</li>
  21. </ul>
  22. </li>
  23. <li class="item">itme4</li>
  24. <li class="item">itme5</li>
  25. <li class="item">itme6</li>
  26. <li class="item">itme7</li>
  27. <li class="item">itme8</li>
  28. </ul>
  29. <style>
  30. /* 1.子元素 */
  31. .list>li {
  32. border: 1px solid #000;
  33. }
  34. /* 2.后代,选择所有的后代,不加> 空格即可 */
  35. .list li {
  36. border: 1px solid rgb(248, 26, 26);
  37. }
  38. /* 3.相邻关系,相邻兄弟+ */
  39. .item.second+* {
  40. background-color: gray;
  41. }
  42. /* 4.选择所有兄弟,后面的 */
  43. .item.second~* {
  44. background-color: rgb(223, 26, 26);
  45. }
  46. </style>
  47. </body>
  48. </html>

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>3.选择器的权重/优先级(重点)</title>
  8. </head>
  9. <body>
  10. <h1 class="title" id="active">Hello</h1>
  11. <style>
  12. body h1.title#active {
  13. /* 1 1 2 */
  14. color: red;
  15. }
  16. body h1.title {
  17. /* 0 1 2 */
  18. color: greenyellow;
  19. }
  20. body h1 {
  21. /* 0 0 2 */
  22. /* body加上后,权重变为0 0 2 */
  23. color: darkorange;
  24. }
  25. h1 {
  26. /* 0 0 1 */
  27. color: green;
  28. /* 后面的覆盖前面的 ,如果要前面的生效,则要提权*/
  29. }
  30. /* 规则
  31. 第一位:标签数量 个位
  32. 第二位:class数量 十位
  33. 第三位:id数量 百位
  34. id不推荐使用,因为权重太高了,为了让代码具有弹性,尽量使用class
  35. 为什么不使用最低权重的标签呢,因为标签数量太少了,而class可以任意命名。
  36. */
  37. /* h1 {
  38. color: violet !important;
  39. } */
  40. /* bootsrap ,element ui这些都不能改,因为升级会覆盖 */
  41. </style>
  42. <div class="col-md-3 vip">Bootstrap</div>
  43. <style>
  44. div.col-md-3.vip {
  45. border: 6px solid rgb(241, 14, 60);
  46. }
  47. div.col-md-3 {
  48. border: 1px solid #002;
  49. }
  50. </style>
  51. </body>
  52. </html>

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