CSS基础之选择器

简介: CSS基础之选择器

前言 :


CSS中的选择器有基础选择器、组合选择器、属性选择器、伪类选择器、伪元素选择器,在了解选择器之前,我们需要了解:


<style type="text/css">
      /*
        CSS的注释,作用和HTML注释类似,只不过它必须编写在style标签中,或者是css文件中
        CSS的语法:
          选择器 声明块
        选择器:
          - 通过选择器可以选中页面中指定的元素,
            并且将声明块中的样式应用到选择器对应的元素上
        声明块:
          - 声明块紧跟在选择器的后边,使用一对{}括起来,
            声明块中实际上就是一组一组的名值对结构,
              这一组一组的名值对我们称为声明,
            在一个声明块中可以写多个声明,多个声明之间使用;隔开,
            声明的样式名和样式值之间使用:来连接
      */
      p{
        color:red;
        font-size:50px;
      }
    </style>
  </head>
  <body>
    <!-- 这是HTML的注释方式 -->
    <p style="color:red">今天天气真不错,PM2.5也就500</p>
  </body>


以下就是CSS中选择器的分类啦~


- 基础选择器


元素选择器: p{}、div{}等

类选择器: .类名{}

id选择器: #id值{}

通用选择器: *{}


<style type="text/css">
      /* 
        id选择器:
          作用:根据HTML元素的id属性的值选中有特定元素。
          语法:#id属性值 {}
          示例:#demo {}
        需求:将"乡音无改鬓毛衰"改成红色,字体大小改成40px,并为该页面设置一种背景色。
       */
      #demo {
        color: red;
        font-size: 40px;
      }
      /* 
        通配符(通用)选择器
          作用: 选中当前页面的所有元素。
          语法: * {}
       */
      * {
        background-color: yellowgreen;
      }
    </style>
  </head>
  <body>
    <p>少小离家老大回,</p>
    <p id="demo">乡音无改鬓毛衰。</p>
    <p>儿童相见不相识,</p>
    <p>笑问客从何处来。</p>
  </body>


<style type="text/css">
      /* 
        类选择器:
          作用:根据类的值选中有特定class属性的元素。
          语法:.class属性值 {}
          示例:.demo {}
        需求:将当前页面后两句的文本改成红色,字体大小改成40px,并给页面设置一种背景色。
       */
      .demo {
        color: red;
        font-size: 40px;
      }
      .abc {
        background-color: yellowgreen;
      }
    </style>
  </head>
  <body>
    <p>少小离家老大回,</p>
    <p>乡音无改鬓毛衰。</p>
    <p class="demo abc">儿童相见不相识,</p>
    <p class="demo">笑问客从何处来。</p>
  </body>

2da91e0fa18749aba565cb73aeeffc38.png


- 组合选择器


子元素选择器: 父元素 > 子元素 {}

后代选择器: 父元素 子元素 {}

兄弟选择器: 兄 + 弟 {}、兄 ~ 弟 {}

交集选择器:选择器1选择器2选择器3选择器n{}

并集选择器:选择器1,选择器2,选择器3,选择器n{}


<style type="text/css">
    <!--兄弟元素选择器-->
    /*
    p~span{
      color:red;
    }
    */
     /*
    p~div>a{
      background-color: #F0FFFF;      
    }
    */
     /*
     .demo ~ div > a{
       background-color: #FF0000;
     }
     */
    /*
    div.red{
      color: #FF0000;
      font-size: 30px;
    }
    */
    h1,span{
      color: #00FFFF;
    }
    </style>
  </head>
  <body>
    <div>
      我是一个div
      <h1>我是div中的元素
      <span>我是div中的p元素中的span元素</span>
      </h1>
      <span>我是div中的span元素</span>
      </div>
</body>

edacde7bfef04f3bb13b3b0ebac77c89.png


- 属性选择器


CSS表达式 attr() 用来获取选择到的元素的某一HTML属性值,并用于其样式。它也可以用于伪元素,属性值采用伪元素所依附的元素。attr() 表达式可以用于任何CSS属性。


[attr]{}:

[attr=value]{}:

[attr~=value]{}:

[attr^=value]{}:

[attr|=value]{}:

[attr$=value]{}:

[attr*=value]{}:


<title>CSS属性选择器</title>
    <style type="text/css">
    a[target][href] {
      color: #008000;
    }
    /*不带值的选择器
    [attr]{}
    */
    a[target="_blank"] {
      background: #00FFFF;
    }
    /*含有值的选择器
    [attr=value]{}
    */
     [title~=dark] {
       border: 0.125rem solid green;
     }
    [class~=dark]{
      color: #7FFFD4;
    }
    /*部分值属性选择器
     [attr~=]{}
    */
   /*
   [class^=top]{
     background: #FF0000;
   }
   开头[arrt^=value]{}
   [arrt|=value]{}
   结尾[arrt$=value]{}
   [arrt*=value]{}
   */
  [class$="test"] {
    background: #F0FFFF;
  }
   [class |=top]{
       background: #FF0000;
   }
   div[name*="xy"]{
     background: blue;
   }
   /*子串匹配属性选择器
   语法:[attr |=value]
   值必须是完整的或者是单独的单词,比如class="top",这时"top"或者是"top-其他单词"  */
    </style>
  </head>
  <body>
    <h1> 示例1</h1>
    <h1 title="美丽中国">美丽中国</h1>
    <a target="流浪地球" href="聚居月球">流浪地球,聚居月球</a>
    <a href="你好" target="_blank">中国人,你好</a>
    <br/>
    <img  src="" title="backgroud" width="400px" height="240px" />
    <h1 class="bcg dark">这是一个h1标签</h1>
    <h2 class="abc">这是一个h2标签</h2>
    <p class="top">这是子串匹配属性选择器</p>
    <p class="top-text">这是子串匹配属性选择器2</p>
      <p class="topcontent">这个就不能被子串匹配属性选择器选择</p>
      <p class="mytest">这是一个段落</p>
    <div name="xy_dly" >好好学习</div>
    <span name="xy_zk">天天向上</span>
    <div name="xy_kkxx">开开心心</div>
  </body>

dba6645eeb584fddb9cc3225d4a9c99e.png


- 伪类选择器


1、伪类选择器,同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示。

比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么状态,点击后是什么状态。所以,就叫做“伪类”。

2、伪类选择器分为两种,静态伪类和动态伪类。

(1)静态伪类:只能用于超链接的样式。

:link 超链接点击之前

:visited 链接被访问过之后

注意:以上两种样式,只能用于超链接。

(2)动态伪类:针对所有标签都适用的样式。如下:

:hover “悬停”:鼠标放到标签上的时候

:active “激活”: 鼠标点击标签,但是不松手时。

:focus 是某个标签获得焦点时的样式


- 伪元素选择器


<style>
      .firstChild {
        color: lightcoral;
      }
      .lastChild {
        color: lightseagreen;
      }
    </style>
  </head>
  <body>
    <p>
      <span class="firstChild">CSS 人家的全名叫 Cascading Style Sheets的啦</span>
    <br/>
      <span class="lastChild">CSS 算是 HTML 的专业化妆师了。</span>
    </p>
    </body>

06af0cfa53bf42959a7b62aa7133d96b.png


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