欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css选择器与权重

程序员文章站 2022-06-02 19:27:29
...

1.实例演示: 元素的样式来源

  • 行内样式
    <h2 style="color:red">我爱前端</h2>
  • 文档样式
  1. <style>
  2. h2 {
  3. color: red;
  4. }
  5. </style>
  6. <h2>我爱前端</h2>
  • 外部样式
    1.css
  1. h2 {
  2. color: red;
  3. }
  1. <link rel="stylesheet" href="1.css" />
  2. <h2>我爱前端</h2>
  • 继承样式
    通常颜色,字体,字号等可以被继承,而模型的属性不行

    1. <style>
    2. div {
    3. color: red;
    4. }
    5. p {
    6. color: inherit;
    7. }
    8. </style>
    9. <div>
    10. <p>我爱前端</p>
    11. </div>
  • 样式的优先级

行内样式 > 文档样式 > 外部样式 > 默认样式 > 继承样式

2.实例演示: 基本选择器, 上下文选择器

基本选择器

  • 标签选择器
    h2 {color:red}
  • 属性选择器
    h2[title="hello"] {color:red}
  • id 选择器 用于唯一
    h2#testa {color:red}
  • class 选择器 用于多个元素
    h2.testb {color:red}
  • 群组选择器
    h2#testa, h2.testb {color:red}
  • 通配选择器
    html body * {color:red}

上下文选择器

  • 子元素选择器
    .list > li {border: 1px solid #000}
  • 后代元素选择器
    .list li {border: 1px solid #000}
  • 相邻兄弟选择器
    .test + * {background-color:red}
  • 所有兄弟选择器
    .test ~ * {background-color:red}

3.实例演示: 选择器的权重, 并分析为什么不推荐使用 id 和 tag,而是 class

选择器的权重

  • css 将 id, class, tag 看成是一个 三位整数 id 代表百位 class 代表十位 tag 代表个位

  • 第一位表示 id 的数量,第二位表示 class 的数量,第三位表示 tag 的数量

  • css 权重 0 0 1
    h2 {color:red}

  • css 权重 0 0 2
    div h2 {color:red}
  • css 权重 0 1 0
    .test {color:red}
  • css 权重 1 0 0
    #test {color:red}

为什么不推荐使用 id 和 tag,而是 class

  • id 因为权重太高,为了让你的代码具有弹性,尽可能用 class 命名和使用 class 选择器

  • 为什么不用权重最低的标签呢?因为标签的数量太少,而 class 可以任何命名