CSS —— 选择器(带你深入了解如何使用选择器)

简介: CSS —— 选择器(带你深入了解如何使用选择器)

一、基础选择器

基础选择器:标签(元素)选择器,类选择器,id 选择器,通配符选择器。

  1. 标签选择器:html 代码中的标签,如 <html>、<body>、<h1>、<p>、<img>。
  p {
        color: red;
    }
  <p>实验楼</p>

6a19da1f904e4edfa873c4660290003c.png

  1. 类选择器:不能是纯数字,不能是标签名。一般是 . + 对应样式描述
    p {
      color: red;
    }
    .bgc{
      background-color: yellow;
    }
  <p class="bgc">实验楼</p>

e79c3ac073764ccabec77e6922ffe156.png

  1. 类选择器:单个元素可以有多个类名(以空格分开多个类名的形式书写)。
    p {
      color: red;
    }
    .bgc{
      background-color: yellow;
    }
  .one{
        font-size: 50px;
    }
  <p class="bgc one">实验楼</p>

73f620a6d37843fc9d95fd001889d4af.png

  1. id选择器:id 是对 HTML 标签中 id 属性进行选择。选择符是 #。
    p {
      color: red;
    }
    .bgc{
      background-color: yellow;
    }
  #height{
      height: 50px;
    }
  <p class="bgc=" id="height">实验楼</p>

e94ac66b983c4f06b0769dee3583818c.png

  1. 通配符选择器:匹配页面中所有的元素。选择符是 *
  *{
      color: red
    }
  <p>你好</p>
    <span>Hello</span>
    <div>CSS选择器</div>

013455093dff48ddbf37c04b978a063b.png

二、组合选择器

组合选择器:交集选择器(标签指定式选择器),后代选择器(包含选择器),并集选择器。

  1. 交集选择器:由两个选择器构成,其中第一个必须是标签选择器,第二个为 class 选择器或 id 选择器。两个选择器之间不能有空格。
  p {
        color: red
    }
    p.one{
        background-color: skyblue;
    }
    <p>好好学习</p>
    <p class="one">你好</p>

e945033ba59042c7a24e9a0a394a983d.png

  1. 后代选择器:用来选择元素或元素组的后代。写法为把外层标记写在前面,内层标记写在后面,中间用空格分隔。当标记发生嵌套时,内层标记就成为外层标记的后代。
  .one #two p{
        color: red;
    }
    <div class="one">
      <div id="two">
        <p>天天向上</p>
      </div>
    </div>

9140161104d04b7595dae2388d60e5b7.png

  1. 子代选择器:与后代选择器相比,子元素选择器只能选择作为某个元素的子元素。子选择器使用大于号作为子结合符。
  p > strong{
        color: red;
    }
  <p>
      <strong>好好学习</strong>
    </p>
    <p>
      <em>
        <strong>天天向上</strong>
      </em>
    </p>

e47adb5946cc4169bb4a836e27b8dddb.png

如果改成后代选择器

子代选择器只选择指定标签的第一代子元素或者理解为它的直接后代(只指定儿子,而不管孙子),后代选择器是作用于所有子后代元素(不只儿子,还可以选择到孙子,重孙子等等)。


并集选择器:并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器(包括标签选择器、class 类选择器、id 选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的 CSS 样式。

  p,
    #one,
    .two{
        color: red;
    }
  <p>好好学习</p>
    <span id='one'>天天向上</span>
    <strong class='two'>冲冲冲</strong>

5e6dcfaaac3141849beeb152f118e8f5.png

三、属性选择器

属性选择器是根据元素的属性及属性值来选择元素。

3851c8ad284f42ebbe8f46df1b8c3a32.png

  p{
        color: blue;
    }
    p[title='one']{
        color: red;
    }
    p[title~='two']{
        color: green;
    }
    p[title|='three']{
        color: pink;
    }
    <p title="five">我爱学习</p>
    <p title="one">我爱吃饭</p>
    <p title="one two">我爱睡觉</p>
    <p title="three-four">我爱打游戏</p>

c4c880eb28a746f18d6b3a642544a959.png

四、伪类选择器

CSS 伪类用于向某些选择器添加特殊的效果。

  1. :link 应用于未被访问过的链接。
  2. :hover 应用于有鼠标指针悬停于其上的元素。
  3. :active 应用于被激活的元素,如被点击的链接、被按下的按钮等。
  4. :visited 应用于已经被访问过的链接。
  5. 注意:顺序 L-V-H-A(link-visited-hover-active)
  a {
        color: red;
        text-decoration: none;
    }
    /*链接访问之后的状态*/
    a:visited {
        color: skyblue;
    }
    /*鼠标放到链接上显示的状态*/
    a:hover {
        color: blue;
        text-decoration: line-through;
    }
    /*链接激活的状态*/
    a:active {
        color: pink;
    }
  <a href="">好好学习</a>

五、层叠性和继承性

层叠性是指多种 CSS 样式的叠加。

  1. !important 具有最大优先级。也就是说任何情况下,只要定义了它,它的样式最终就会被应用。
  div{
        color:red !important
    }
    div{
        color:skyblue;
    }
  <div>天天向上</div>

7335d9657edb43eb97c1d7fdd9092c2b.png

  div{
        color:red !important
    }
    div{
        color:skyblue;
    }
  <div>天天向上</div>

d003164b0f5d43f088d6ebbce958d43d.png

  1. 源码出现次序。
  .box2 {
        font-size: 100px;
        color: blue;
    }
    .box {
        font-size: 60px;
        color: pink
    }
  <div class='box box2'>天天向上</div>

867fd65ae5224d05be0a5e589cb85e9c.png

注意:先定义的 box2 类样式,再定义的 box 类样式,最后显示的是 box 类中的样式。


优先级:

规则一:行内样式 > 页内样式 > 外部引用样式 > 浏览器默认样式。

规则二:important > 内联 > id > 伪类|类 | 属性选择 > 标签 > 伪对象 > 通配符 > 继承。


继承性就是指我们写 CSS 样式表的时候子元素会继承父元素的某些样式,比如文本颜色和字号。

  .demo {
        font-size: 20px;
        color: blue;
    }
  <div class="demo">
      <span>好好学习</span>
    </div>

6ab89ec045d44a1e9f63e1c3b4b1b327.png

想要设置一个可继承的属性,只需将它应用于父元素即可。


所有字相关的都可以继承,比如:color、text-系列、font-系列、line-系列等。

并不是所有的 CSS 属性都可以继承,例如:边框、外边距、内边距、背景、定位、元素宽高属性就不能继承。

所有盒子相关的属性都不能继承例如:a 标签,h1 标签不会实现继承。

不积跬步无以至千里 不积小流无以成江海

相关文章
|
4月前
|
前端开发
CSS:高级选择器
CSS:高级选择器
58 1
|
4月前
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
59 1
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
50 5
|
2月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
56 2
|
4月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
4月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
135 1
|
3月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
28 0
|
4月前
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
5月前
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
39 1
|
5月前
|
前端开发
CSS中的层级选择器&伪类选择器和伪元素选择器
CSS中的层级选择器&伪类选择器和伪元素选择器

热门文章

最新文章