CSS 选择器

news2025/7/27 19:22:17

目录 

1、导语

 2、css基本选择器

1)、标签选择器

 2)类选择器

 3)ID选择器

 4)通配符选择器

 3、css组合选择器

1)标记类别选择器(交集选择器)

 2)后代选择器

 3)子选择器

 4)兄弟选择器

 |、相邻兄弟选择器

 ||、普通兄弟选择器


1、导语

css样式是由若干条样式规则组成的,这样的样式规则可以应用到不同的元素或文档上。css规则由两部分组成:选择器和声明语句。

选择器:selector用来指点需要设置样式的元素或文档(即HTML对象)

声明语句:通过属性(property)和属性值(value)描述样式的具体内容,多组声明语句用分号(;)分隔。声明语句不分先后顺序。

今天我们重点来介绍css中的选择器。

//基本语法
selector{
property1:value1;
property2:value2;
property3:value3;
...
}

 2、css基本选择器

1)、标签选择器

可以看这篇博客链接HTML的标签HTML的常用标签

HTML文档的标签是css样式规则中非常常见的选择器。我们可以直接将HTML的标签作为选择器的名称,如p、h1、em,设置html本身。

 示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
      /*   p{        //p标签选择器
            border: 1px salmon solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        h5{         //h5标签选择器
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        } */
    </style>
</head>
<body>
    <p>段落标签</p>
    <h5>文章标题标签</h5>
</body>
</html>

 未 加标签选择器

 

 加 标签选择器

 2)类选择器

网页中通过使用标签选择器控制文档中所有该标签的样式,但是在实际设计过程中,有些由相同标签定义的不同对象需要显示不同的样式,这时就需要利用其他选择器来实现差异化的样式定义,例如可以利用类选择器轻松地将文档中多个<p>段落设置成不同的样式。

CSS 类选择器会根据元素的类属性中的内容匹配元素。类属性被定义为一个以空格分隔的列表项,在这组类名中,必须有一项与类选择器中的类名完全匹配,此条样式声明才会生效。

 语法: .类名 {样式声明 }

示例

 就比如上一个代码只需一个类选择器就可以实现和上述代码一样的效果,因此,灵活运用各种选择器是我们写好代码的关键。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .class{      
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p class="class">段落标签</p>
    <h5 class="class">文章标题标签</h5>
</body>
</html>

 

 3)ID选择器

 ID选择器的使用方法和类选择器基本相同,定义了样式规则之后,通过标签的id属性来引用。

 语法:#id 属性值 {样式声明 }

 示例

还是上面那个代码,只要稍微改动即变成了ID选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #class{
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p id="class">段落标签</p>
    <h5 id="class">文章标题标签</h5>
</body>
</html>

 

 那这个时候就有人会问那ID选择器和类选择器有什么区别吗?

答:有。正常情况下,ID属性值在文档中是具有唯一性的,所以ID选择器和类别选择器最大的区别就是:一个ID选择器只能被引用一次,针对性强;一个元素只能引用一个ID选择器。因此一般大结构用ID选择器,如标志、导航、主体内容、版权等,结构内部用类别选择器。

 4)通配符选择器

在 CSS 中,一个星号 (*) 就是一个通配选择器。它可以匹配任意类型的 HTML 元素。在配合其他简单选择器的时候,省略掉通配选择器会有同样的效果。比如*.class 和.class 的效果完全相同。

在 CSS3 中,星号 (*) 可以和命名空间组合使用:

1ns|*    会匹配ns命名空间下的所有元素

2*|*     会匹配所有命名空间下的所有元素

3|*       会匹配所有没有命名空间的元素

 3、css组合选择器

1)标记类别选择器(交集选择器)

这是由两个选择器直接连接构成,其指点的对象是两个基本选择器所指向的交集。其中第一个选择器必须是标签选择器,第二个选择器是类别选择器或者ID选择器。

语法: 标签名.类目(#ID名){样式声明 }   (两个选择器之间不能有空格,必须连写)

 示例

当你希望两个基本选择器所指向的交集有所不同时,就可以使用该选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #class{
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        p{
            border: 2px gold solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        /*标记类别选择器*/
        p#class{    
            border: 3px black solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <h5 id="class">文章标题标签</h5>
    <p>段落标签1</p>
    <p id="class">段落标签</p>
</body>
</html>

 

 2)后代选择器

 通常用单个空格(" ")字符表示 组合了两个选择器,如果第二个选择器匹配的元素具有与第一个选择器匹配的祖先(父母,父母的父母,父母的父母的父母等)元素,则它们将被选择。后代选择器有利于表现文档结构的上下文关系。

 语法:选择器1 后代选择器2{样式声明}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p{
            border: 1px red solid;
            text-align: center;
            line-height: 100px;
        }
        /*后代选择器*/
        p span{    
            border: 3px black solid;
            text-align: center;
            line-height: 100px;
        }
        /*span{     //与后代选择器作用相同
            border: 3px black solid;
            text-align: center;
            line-height: 100px;
        }*/
    </style>
</head>
<body>
    <p>段落标签
        <span>spanspan</span>
    </p>
</body>
</html>

 3)子选择器

描述的是某个元素的子元素,在两个选择器之间用">"来连接。

 语法:元素 1 > 元素 2 {样式声明 }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p{
            border: 2px gold solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
         /* 子元素选择器 */
        p>span{   
            border:3px black solid;
            height:100px;
            width:100px;
            text-align:center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p >段落标签1
        <span>spanspan</span>
    </p>
</body>
</html>

 4)兄弟选择器

 兄弟选择器主要包括两类:相邻兄弟选择器和普通兄弟选择器

 |、相邻兄弟选择器

当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。

语法:选择器1+选择器2{样式声明 }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        li:first-of-type + li {
             color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>One</li>
        <li>Two!</li>
        <li>Three</li>
      </ul>
</body>
</html>

 ||、普通兄弟选择器

兄弟选择符,位置无须紧邻,只须同层级,A~B 选择A元素之后所有同层级B元素

 语法:选择器1~选择器2{样式声明 }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p ~ span {
            color: red;
        }
    </style>
</head>
<body>
    <span>span11</span>
    <p>pppp</p>
    <span>span22</span>
    <p>pppp</p>
    <span>span33</span>
</body>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[足式机器人]Part3机构运动微分几何学分析与综合Ch02-2 平面机构离散运动鞍点综合——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch02-2 平面机构离散运动鞍点综合2.3 鞍点圆2.3.1 鞍圆与二副连架杆R-R2.3.2 鞍圆误差2.3.3 四位置鞍圆2.3.4 五位置鞍圆2.3.5 多位置鞍圆2.3 鞍点圆 平面连杆机构中…

浅谈JVM(面试常考题)

文章目录JVM简介JVM 执行流程JVM运行时数据区(内存布局)程序计数器(线程私有)Java虚拟机栈(线程私有)堆(线程共享)方法区(线程共享)小结JVM类加载类加载的具体过程LoadingLinkingVerificationPreparationResolutionInitialization类加载的执行顺序双亲委派模型JVM中的垃圾回收机…

最新手工整理31省市自治区180+指标面板数据-各省份邮电和运输指标汇总(2002-2020)

1、数据来源&#xff1a;国家统计局 2、时间跨度&#xff1a;2002-2020 3、时间频率&#xff1a;年度 4、区域范围&#xff1a;31个省市⾃治区 5、邮电指标&#xff1a; 包裹数(万件)报刊期发数(万份)汇票业务(万笔)集邮业务量(万枚)固定本地电话通话时长(万分钟)固定长途…

流媒体技术基础-流媒体编码与协议

一、流媒体传输协议 1.实时传输协议RTP 针对多媒体数据流的一种传输协议&#xff0c;建立在UDP协议上&#xff0c;属于传输层协议。 定义互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统&#xff08;配合RTCP协议&#xff09;、视频会议和视频电话系统&…

2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代码实现(更新完毕)

更新信息 2022-11-24 10:00 更新问题1和问题2 思路 2022-11-24 23:20 更新问题一代码 2022-11-25 11:00 更新问题二代码 相关链接 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题一python代码实现】 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代…

爱尔兰博士后招聘|利默里克大学-广告学

[国外博士后招聘-知识人网]爱尔兰利默里克大学广告学博士后 爱尔兰利默里克大学是爱尔兰独立后第一所由政府资助而建的综合型独立大学。爱尔兰利默里克大学是爱尔兰七所国立大学之一&#xff0c;1972年开始招生&#xff0c;1989年被政府准予授予学位。利莫瑞克大学下设六个学院…

【学习笔记25】JavaScript字符串的基本认识

JavaScript字符串的基本认识一、严格模式二、字符串1、字面量2、构造函数3、包装类型三、字符集&#xff08;了解&#xff09;1、ASCII&#xff1a;128个2、GBK国标码&#xff1a;前128位ASCII&#xff0c;从129开始为汉字3、unicode(万国码)四、字符串的length与下标一、严格模…

【数论】质数

文章目录一、试除法判定质数二、试除法分解质因数三、筛法求素数1. 朴素筛法2. 埃氏筛法3. 线性筛法质数&#xff1a;大于1&#xff0c;且只包含1和本身两个因数的整数 一、试除法判定质数 如果是合数&#xff0c;那么因数一定是成对出现的&#xff0c;比如12&#xff0c;有2…

【Axure教程】能增删改数据的动态饼图

可视化视图是系统分析中非常重要的一个环节&#xff0c;今天作者就教大家在Axure中如何用中继器表格结合echarts图片&#xff0c;制作出一个能够动态增删改数据饼图的原型模板。需要制作的效果如下图所示&#xff1a; 自动生成饼图&#xff1a;通过修改中继器表格中的数据&…

教程三 在Go中使用Energy创建跨平台应用 - 状态控制

本文介绍在Energy中如何像浏览器一样控制状态, 页面的加载、前进、后退、刷新、暂停刷新 前提-需要安装好开发环境参考:教程一环境安装 创建应用 开发环境中 MacOSX平台必须在"GlobalCEFInit"之前设置CEF设置使用CEF 和 CEF框架目录&#xff0c;生成开发执行应用程…

【kafka】十、kafka消费者offset维护

消费者offset维护 offset维护 由于consumer在消费过程中可能会出现断电宕机等故障&#xff0c;consumer恢复后&#xff0c;需要从故障前的位置继续消费&#xff0c;所以consumer需要实时记录自己消费到了哪个offset&#xff0c;以便恢复后继续消费。 消费者是按照消费者组来保…

第八章 动态规划 3 AcWing 1554. 找更多硬币

第八章 动态规划 3 AcWing 1554. 找更多硬币 原题链接 AcWing 1554. 找更多硬币 算法标签 DP 背包问题 思路 经典01背包问题 闫氏DP分析法 状态表示 状态初始化 状态计算 状态转移方程式 要求字典序最小&#xff0c;因此先存硬币面额到数组再降序排列&#xff0c;保…

App逆向之frida-dexdump脱壳分析某肿瘤sign

声明&#xff1a;本文仅限学习交流使用&#xff0c;禁止用于非法用途、商业活动等。否则后果自负。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;本教程也没有专门针对某个网站而编写&#xff0c;单纯的技术研究 一、firda 的安装 国内下载很慢&#xff1a;pip…

docker容器网络

第七章容器网络 Docker网络 veth pair&#xff1a;成对出现的一种虚拟网络设备&#xff0c;数据从一端进&#xff0c;从另一端出。用于解决网络命名空间之间隔离。 docker0&#xff1a;网桥是一个二层网络设备&#xff0c;通过网桥可以将Linux支持的不同端口连接起来&…

Git常见命令与使用,从0到1学会使用Git

&#x1f468;‍&#x1f4bb;个人主页&#xff1a; 才疏学浅的木子 &#x1f647;‍♂️ 本人也在学习阶段如若发现问题&#xff0c;请告知非常感谢 &#x1f647;‍♂️ &#x1f4d2; 本文来自专栏&#xff1a; 常见软件安装与运用 ❤️ 支持我&#xff1a;&#x1f44d;点赞…

linux NPS 服务端安装 +linux 客户端安装

本文参考博客&#xff1a; https://blog.csdn.net/m0_57776598/article/details/123674866 一、下载安装包 1、官方下载 官方下载地址&#xff1a;https://github.com/ehang-io/nps/releases 注意不要下错了&#xff0c;当前我下的版本为 v0.26.10 2、网盘下载 网盘下载&…

Python编程 字典的常用操作

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.字典 1.访问字典(掌握) 2.字典的增加与修改(掌握) 3.系列删除(掌握) …

Web3中文|元宇宙在商业中的最佳应用

来源 | techrepublic 编译 | DaliiNFTnews.com 麻省理工学院斯隆管理学院的信息技术高级讲师Paul McDonagh-Smith说&#xff0c;麻省理工学院的人工智能先驱Marvin Minsky创造了“手提箱式词语”一词——即一些词或术语本身没有任何意义&#xff0c;而需要人去挖掘、赋予和丰…

计算机英文论文写作需要注意哪些细节? - 易智编译EaseEditing

1&#xff09;尽量用动词少用名词化 那些大篇名词的文章真的很难读懂&#xff0c;而有强大动词的句子更容易理解。 我们注意到客户在论文中经常使用的名词有“agreement”, “disagreement”, “investigation”, “analysis”, “examination”, “comparison”, “increase…

【MySQL技术专题】「索引技术」体验前所未有的技术探险,看穿索引的本质和技术体系(1)

文章目录前提概要数据库类型内容架构索引和磁盘的关系数据读取时主要时间开销总结分析瓶颈点优化的方式数据量计算传统暴力&#xff08;顺序型读写&#xff09;X索引机制&#xff08;半随机性读写&#xff09;√索引升级之多级索引化&#xff08;全随机性读写&#xff09;使用索…