本文发布于982天前,最后更新于 981 天前,其中的信息可能已经有所发展或是发生改变。
选择器
CSS主要有五大基本选择器
- 元素选择器:用于选择指定html元素
- 类选择器:用于选择指定了class的html元素
- id选择器:用于选择指定了id的html元素
- 伪类选择器:用于选择匹配特殊状态的html选择器,比如悬浮态hover,点击后的链接active,元素前before,元素后after
- 通用选择器:用于选择所有元素
语法
有了基本选择器,CSS可以通过语法来组合基本选择器,从而进一步指定要选择的元素
- div button空格间隔开的元素表示两者为父子级关系,其中前者为后者的父级,不一定要是直接后代,也可以是祖孙或者更高层级的父级。
  <div>
    <p>
      *<button>- div>button> 符号间隔开的元素表示两者为直接父子级关系
  <div>
      *<button>- div,p逗号间隔开的元素表示两者为并列选择关系,之后的样式对两者都有效
  *<div>
  </div>
  *<p>
  </p>- p+span加号间隔开的元素表示两者为相邻的同级元素
  <div>
    *<p>
    *<span>- p~span波浪线间隔开的元素表示两者为同级元素
  <div>
    *<p>
    <button>
    *<span>示例
- .button #submit表示选择button类中id为submit的元素
   <element class="button">
   …
    <element id="primary">- .button #submit,.button #cancel表示选择button类中id为submit的元素,同时选择button类中id为cancel的元素
   <element class="button">
   …
    <element id="primary">  或   <element class="button">
     …
       <element id="cancel">- div[*attribute*]- 当使用vue的style scope限定组件样式时可以看到html中生成的都是类似于 element[data-hash]的样式选择器 这里其实就用到了 [attribute] 选择器
- .card:before .card:after .card:hover等伪类选择器
优先级
| 选择器 | 备注 | 
|---|---|
| !important | 慎用,可能造成样式混乱 | 
| 内联样式 | 直接写在html的style属性里的样式 | 
| id选择器 | #id | 
| 类和伪类选择器/属性选择器 | .class :hover element[attribute] | 
| 元素选择器 | div | 
| 通配符、子选择器、相邻选择器 | *、>、+ | 
| 继承的样式 | 



