博客列表 >css选择器与权重

css选择器与权重

 
 原创
2021年12月26日 22:07:43535浏览

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 可以任何命名

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