当前位置: 首页 > news >正文

CSS 几种常见的选择器

        在css中,要对元素添加样式,可以使用选择器来实现。这里就来说说几种比较常见的选择器。选择器的逻辑是选中页面中指定的标签元素。要先选中元素,才能选中元素的属性。

标签选择器

        标签选择器能快速为同一类的标签添加样式。

    标签 {

    }
    <style>
        p {
            color: red;
        }

        div {
            color: green;
        }
    </style>
    <p>第一段</p>
    <p>第二段</p>
    <p>第三段</p>
    <div>第一个div</div>
    <div>第二个div</div>
    <div>第三个div</div>

类选择器

        上述的标签选择器会选中全部符合要求的标签。但是现在我只想把第一段给变成红色,这个时候就可以使用类选择器,差异化表示不同的标签。

    .标签 {
    
    }
    
<!--    标签中需要带class属性-->
    <style>
        .red {
            color: red;
        }
    </style>
    <p class="red">第一段</p>
    <p>第二段</p>
    <p>第三段</p>
    <div class="red">第一个div</div>
    <div>第二个div</div>
    <div>第三个div</div>

注意:

(1)类选择器使用.来开头。

(2)下方的标签必须要使用class属性来调用。

(3)一个类可以被多个标签使用,一个标签可以使用多个类,使用空格分开。

id选择器

        和类选择器类似,使用#开头,标签中需要id属性来调用,id是唯一的,和类选择器的区别就是不能被多个标签使用(类似于姓名和身份证号之间的关系。姓名可以相同,但是身份证号不能相同)。

    #标签 {
    
    }
    
<!--    标签中需要带id属性-->
    <style>
        #red {
            color: red;
        }
    </style>
    <p id="red">第一段</p>
    <p>第二段</p>
    <p>第三段</p>

通配符选择器

        使用*,选中所有的标签。

    <style>
        * {
            color: red;
        }
    </style>
    <p id="red">第一段</p>

    <div>第一个span</div>

    <h4>标题</h4>

 以上选择器被称为基础选择器。

后代选择器

        又称为包含选择器,选择某个父元素中的某个子元素。这里的后代不仅仅是儿子,也可以是孙子等等。

    元素1 元素2 {

    }    

元素1和元素2之间使用空格分割。选择的结果之影响元素2。

    <style>
        /*只选中ol中的li标签*/
        ol li {
            color: red;
        }
    </style>
    <ul>
        <li>ul的li</li>
        <li>ul的li</li>
    </ul>

    <ol>
        <div>div</div>
        <li>ol的li</li>
        <li>ol的li</li>
    </ol>

可以是任意基础选择器的组合。

    <style>
        .red-ol .red-li {
            color: red;
        }
        .red-ol li {
            color: green;
        }
    </style>
    <ul>
        <li>ul的li</li>
        <li>ul的li</li>
    </ul>

    <ol class="red-ol">
        <div>ol中的div</div>
        <li class="red-li">ol的li</li>
        <li>ol的li</li>
        <li>ol的li</li>
    </ol>

子选择器

        和后代选择器类似,但是只能选择亲儿子,不能选择其他的。

    元素1>元素2 { 

    }
    <style>
        .two a {
            color: red;
        }
        
        /*分别注释两个选择器,观察*/
        /*后代选择器会改变两个标签的颜色*/
        /*子选择器只会改变第一个标签的颜色*/

        .two>a {
            color: green;
        }
    </style>
    <div class="two">
<!--        亲儿子-->
        <a href="#">链接1</a>
<!--        p标签中的a标签,孙子标签-->
        <p><a href="#">链接2</a></p>

并集选择器

        用于选择多组标签,通过逗号分割等多个元素,完成集体声明。

    元素1, 
    元素2 {

    }
    <style>
        p,
        div,
        h4 {
            color: red;
        }
    </style>
    <p>p标签</p>
    <div>div标签</div>
    <h4>h4标签</h4>

伪类选择器(链接伪类)

        伪类选择器有很多,这里主要说说链接的伪类选择器。

a:link 选择未被访问过的链接
a:visited 选择已经被访问过的链接
a:hover 选择鼠标指针悬停上的链接
a:active 选择活动链接(鼠标按下了但是未弹起)
(要注意顺序,LVHA,否则不生效)
(实际开发主要给链接做一个样式, 然后给 hover 做一个样式即可. link, visited, active 用的不多)
        a:hover {
            color: green;
        }

        a:active {
            color: red;
        }
<!--    鼠标停在链接上,呈现绿色.按下鼠标不松手,呈现红色.-->
    <a href="#">链接1</a>

以上选择器,和基础选择器对应的,叫做复合选择器。

相关文章:

  • 【Day17】Java算法刷题 【面试题 01.08. 零矩阵】 【844. 比较含退格的字符串】
  • 【C++游戏引擎Easy2D】Random随机数,不同于Rand,做游戏必备
  • 【小程序入门】App函数注册小程序实例
  • 【Linux从0到1】第十七篇:高级IO
  • 一起来做个CH347的项目(应用于FPGA、CPLD、MCU)
  • 特征筛选还在用XGB的Feature Importance?试试Permutation Importance
  • 06-ServletRequest
  • Spring Cloud Alibaba系列之nacos:(4)配置管理
  • 一篇五分生信临床模型预测文章代码复现——Figure 3. 基因富集分析(二)
  • 深度学习——day34 读论文:深度 ReLU 网络在特征提取和泛化中的深度选择(2022 Q1)
  • STM32G474产生一个锯齿波
  • 蓝队视角下的防御体系怎样进行突破
  • 排序算法 | 快排、冒泡、堆排、归并、基数、递归、希尔、计数
  • [平台运维、Hadoop]kafka streams概述
  • 【祝福伟大的祖国】Java Web 9.2 Request 对象 9.2.5 请求参数中文乱码问题
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • css的样式优先级
  • docker python 配置
  • Hexo+码云+git快速搭建免费的静态Blog
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • jquery ajax学习笔记
  • Map集合、散列表、红黑树介绍
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringCloud集成分布式事务LCN (一)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 编写符合Python风格的对象
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 精彩代码 vue.js
  • 前嗅ForeSpider中数据浏览界面介绍
  • 区块链分支循环
  • 实习面试笔记
  • 手写一个CommonJS打包工具(一)
  • 一、python与pycharm的安装
  • 用mpvue开发微信小程序
  • 阿里云ACE认证之理解CDN技术
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • # C++之functional库用法整理
  • $forceUpdate()函数
  • (26)4.7 字符函数和字符串函数
  • (vue)页面文件上传获取:action地址
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (十六)Flask之蓝图
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .CSS-hover 的解释
  • :中兴通讯为何成功
  • @javax.ws.rs Webservice注解
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [].slice.call()将类数组转化为真正的数组
  • [20150321]索引空块的问题.txt
  • [20190416]完善shared latch测试脚本2.txt