CSS中选择器的种类以及如何通过权重来计算选择器的优先级

一、CSS选择器的种类 (6种)

1)元素选择器

通过元素名来选择CSS作用的目标,比如:< p >、< h1 >等

❤️ 如果页面中有多个相同的元素需要重用同样的效果,建议使用元素选择器
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

2)类选择器

类选择器:选择class等于某值的所有元素.class是程序员根据逻辑自己给元素增加的分类。
CSS中选择器的种类以及如何通过权重来计算选择器的优先级
❤️ 如果页面中有多个不同的元素需要重用同样的效果,建议使用类选择器。

3)id选择器

id选择器以一种独立于文档元素的方式来指定样式,它仅作用于id属性的值。
语法为:
——选择器前面需要有一个#号
——选择器本身则为文档中某个元素的id属性的值
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

4)选择器分组

选择器声明为以逗号隔开的选择器列表
——将一些相同的规则作用于多个元素
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

5)派生选择器

派生选择器用来选择子元素,分为2种:
1)后代选择器:选择某元素的所有后代(子孙)元素
CSS中选择器的种类以及如何通过权重来计算选择器的优先级
2)子元素选择器:选择某元素的所有子元素
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

6)伪类选择器

  • 伪类用于向某些选择器添加特殊的效果
  • 使用冒号(:)作为结合符,结合符左边是其他选择器,右边是伪类。
  • 常用的伪类有:link,visited,active,hover,focus
    1 ) link::向未被访问的超链接添加样式
    2)visited:向已被访问过的超链接添加样式
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级
    3)active:向被**的元素添加样式
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级
    4)hover:当鼠标悬停至元素上方时,向该元素添加样式
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级

5)focus:当元素获取焦点时,向该元素添加样式
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

二、选择器的优先级

选择器是有优先级的,可以通过权重来计算其优先级。

  • ID选择器:100
  • 类选择器:10
  • 元素选择器:1

记录一下今天在写页面时出现的问题:
页面布局如下图:
CSS中选择器的种类以及如何通过权重来计算选择器的优先级

  • 问题是:在CSS文件中给核心区下的按钮区、数据区、分页区设置尺寸与边框时,我发现,按钮区、数据区、分页区的width都是910px,按钮区和分页区的height都是40px,只有数据区的height是310px,我打算先将按钮区、数据区、分页区的width都设置为910px,height都设置为40px,最后再选中数据区,设置height为310px,将之前设置的height进行覆盖。

重点是,想法很好,但是结果并不如人意。

具体操作如下图:
CSS中选择器的种类以及如何通过权重来计算选择器的优先级
运行程序,页面截图:
CSS中选择器的种类以及如何通过权重来计算选择器的优先级
从页面结果来看,我最后通过类选择器.data选中数据区设置height为310px,并没有奏效。

接下来,通过审查页面中的元素,看box模型,截图如下:
CSS中选择器的种类以及如何通过权重来计算选择器的优先级
可见设置的310px并没有生效!!!

  • 为什么呢???
    原因见下图:
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级
    如何修改呢?
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级
    页面效果截图:
    CSS中选择器的种类以及如何通过权重来计算选择器的优先级
    ❤️ height值覆盖成功,实现完美分区!!!!