06.CSS选择器

CSS选择器

1.选择器的优先级

介绍

通过不同的选择器,选中相同的元素 ,并且为相同的样式名设置不同的值时,就发生了样式的冲突

到底应用哪个样式,此时就需要看优先级了

简单描述

行内样式 > ID选择器 > 类选择器 > 元素选择器 > 通配选择器

2.判断选择器是否选中目标标签

3.CSS基本选择器

总览

  1. 通配选择器
  2. 元素选择器
  3. 类选择器
  4. id 选择器

通配选择器

作用

可以选中所有的 HTML 元素

语法
* {
    属性名:属性值;
}
备注

目前来看通配选择器貌似有点鸡肋,但后面清除样式时,会对我们有很大帮助

元素选择器

作用

为页面中 某种元素 统一设置样式

语法
标签名 {
    属性名:属性值;
}
备注

元素选择器无法实现差异化设置

类选择器

作用

根据元素的 class 值,来选中某些元素

语法
.类名 {
    属性名:属性值;
}
class命名规范
  • 不要使用纯数字
  • 不要使用中文
  • 尽量使用英文与数字的组合
  • 若由多个单词组成,使用 - 做连接
注意点
  1. 元素的 class 属性值不带 . ,但 CSS 的类选择器要带 .
  2. 一个元素不能写多个 class 属性
  3. 一个元素的 class 属性,能写多个值,要用空格隔开

id选择器

作用

根据元素的 id 属性值,来精准的选中某个元素

语法
#id值 {
    属性名: 属性值;
}
id属性值命名规范
  • 尽量由字母、数字、下划线( _ )、短杠( - )组成
  • 最好以字母开头、不要包含空格、区分大小写
注意
  • 一个元素只能拥有一个 id 属性,多个元素的 id 属性值不能相同
  • 一个元素可以同时拥有 id 和 class 属性

基本选择器总结

4.CSS复合选择器

总览

  • 交集选择器
  • 并集选择器
  • 后代选择器
  • 子元素选择器

介绍

  • 复合选择器建立在基本选择器之上,由多个基础选择器,通过不同的方式组合而成
  • 复合选择器可以在复杂结构中,快速而准确的选中元素

交集选择器

作用

选中同时符合多个条件的元素

语法
选择器1选择器2选择器3...选择器n {}
举例
/* 选中:类名为beauty的p元素,为此种写法用的非常多!!!! */
p.beauty {
    color: blue;
}
/* 选中:类名包含rich和beauty的元素 */
.rich.beauty {
    color: green;
}
注意
  • 有标签名,标签名必须写在前面
  • id 选择器、通配选择器,理论上可以作为交集的条件,但实际应用中几乎不用,因为没有意义
  • 交集选择器中不可能出现两个元素选择器,因为一个元素,不可能即是 p 元素又是 span 元素
  • 用的最多的交集选择器是:元素选择器配合类名选择器,例如: p.beauty

并集选择器

作用

选中多个选择器对应的元素,又称:分组选择器

语法
选择器1, 选择器2, 选择器3, ... 选择器n {}
举例
/* 选中id为peiqi,或类名为rich,或类名为beauty的元素 */
#peiqi,
.rich,
.beauty {
font-size: 40px;
background-color: skyblue;
width: 200px;
}
注意
  1. 并集选择器,我们一般竖着写
  2. 任何形式的选择器,都可以作为并集选择器的一部分
  3. 并集选择器,通常用于集体声明,可以缩小样式表体积

后代选择器

作用

选中指定元素中,符合要求的后代元素

语法
选择器1 选择器2 选择器3 ...... 选择器n {} (先写祖先,再写后代)
举例
/* 选中ul中的所有li */
ul li {
color: red;
}
/* 选中ul中所有li中的a */
ul li a {
color: orange;
}
/* 选中类名为subject元素中的所有li */
.subject li {
color: blue;
}
/* 选中类名为subject元素中的所有类名为front-end的li */
.subject li.front-end {
color: blue;
}
注意
  • 选择器之间,用空格隔开,空格可以理解为:" xxx 中的",其实就是后代的意思
  • 选择器 1234…n ,可以是我们之前学的任何一种选择器
  • 后代选择器,最终选择的是后代,不选中祖先
  • 儿子、孙子、重孙子,都算是后代
  • 结构一定要符合之前讲的 HTML 嵌套要求,例如:不能 p 中写 h1 ~ h6

子代选择器

作用

选中指定元素中,符合要求的子元素(儿子元素)。(先写父,再写子)

语法
选择器1 > 选择器2 > 选择器3 > ...... 选择器n {}
举例
/* div中的子代a元素 */
div>a {
color: red;
}
/* 类名为persons的元素中的子代a元素 */
.persons>a{
color: red;
}
注意
  • 子代选择器,最终选择的是子代,不是父级
  • 子、孙子、重孙子、重重孙子 … 统称后代!,子就是指儿子

兄弟选择器

作用

选中指定元素后,符合条件的相邻兄弟元素

所谓相邻,就是紧挨着他的下一个

语法
选择器1+选择器2 {}
示例
/* 选中div后相邻的兄弟p元素 */
div+p {
    color:red;
}

通用兄弟选择器

作用

选中指定元素后,符合条件的所有兄弟元素

语法
选择器1~选择器2 {}
示例
/* 选中div后的所有的兄弟p元素 */
div~p {
color:red;
}

属性选择器

作用

选中属性值符合一定要求的元素

语法
  • [属性名] 选中具有某个属性的元素
  • [属性名=“值”] 选中包含某个属性,且属性值等于指定值的元素
  • [属性名^=“值”] 选中包含某个属性,且属性值以指定的值开头的元素
  • [属性名$=“值”] 选中包含某个属性,且属性值以指定的值结尾的元素
  • [属性名*=“值”] 选择包含某个属性,属性值包含指定值的元素
举例
/* 选中具有title属性的元素 */
div[title]{color:red;}

/* 选中title属性值为atguigu的元素 */
div[title="atguigu"]{color:red;}

/* 选中title属性值以a开头的元素 */
div[title^="a"]{color:red;}

/* 选中title属性值以u结尾的元素 */
div[title$="u"]{color:red;}

/* 选中title属性值包含g的元素 */
div[title*="g"]{color:red;}

伪类选择器

介绍

选中特殊状态的元素

举例使用
<style>
    /* 注意:CSS编写顺序对效果有影响,可能会产生编写的效果不生效的问题 */

    /* 选中的是没有访问过的a元素 */
    a:link {
        color: red;
    }
    /* 选中的是访问过的a元素 */
    a:visited {
        color: red;
    }
</style>
常用的动态伪类选择器
  • :link:超链接未被访问的状态
  • :visited:超链接访问过的状态
  • :hover:鼠标悬停在元素上的状态
  • :active:元素激活状态
  • :focus:获取焦点的元素
常用的结构伪类选择器
  • :first-child:所有兄弟元素中的第一个
  • :last-child:所有兄弟元素中的最后一个
  • :nth-child(n):所有兄弟元素中的第 n 个
  • :first-of-type:所有同类型兄弟元素中的第一个
  • :last-of-type:所有同类型兄弟元素中的最后一个
  • :nth-of-type(n):所有同类型兄弟元素中的第 n 个
  • 关于 n 的值:
    • 0 或 不写:什么都选不中(几乎不用)
    • n:选中所有子元素(几乎不用)
    • 1~正无穷的整数:选中对应序号的子元素
    • 2n 或 even:选中序号为偶数的子元素
    • 2n+1 或 odd:选中序号为奇数的子元素
    • -n+3:选中的是前 3 个
需要了解的伪类选择器
  • :nth-last-child(n):所有兄弟元素中的倒数第 n 个
  • :nth-last-of-type(n):所有同类型兄弟元素中的 倒数第n个
  • :only-child:选择没有兄弟的元素(独生子女)
  • :only-of-type:选择没有同类型兄弟的元素
  • :root:根元素
  • :empty:内容为空元素(空格也算内容)
否定伪类
  • :not(选择器):排除满足括号中条件的元素
UI伪类
  • :checked:被选中的复选框或单选按钮
  • :enable:可用的表单元素(没有 disabled 属性)
  • :disabled:不可用的表单元素(有 disabled 属性)
目标伪类
  • :target:选中锚点指向的元素
语言伪类
  • :lang():根据指定的语言选择元素(本质是看 lang 属性的值)

伪元素选择器

作用

选中元素中的一些特殊位置

常用的伪元素
  • ::first-letter:选中元素中的第一个文字
  • ::first-line:选中元素中的第一个文字
  • ::selection:选中被鼠标选中的内容
  • ::placeholder:选中输入框的提示文字
  • ::before:在元素最开始的位置,创建一个子元素(必须用 content 属性指定内容)
  • ::after:在元素最后的位置,创建一个子元素(必须用 content 属性指定内容)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用 SpringBoot+Redis 解决海量重复提交问题

1 前言 在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求&#xff0c;我们来解释一下幂等的概念&#xff1a;**任意多次执行所产生的影响均与一次执行的影响相同 。**按照这个含义&#xff0c;最终的含义就是 对数据库的影响只能是一次性的&#xff0c;不能重复处理…

一站式API解决方案:工程通API连接营销系统、CRM与用户运营,推动无代码集成

无代码开发的革命&#xff1a;简化电商与CRM系统集成 在信息技术迅猛发展的今天&#xff0c;电商企业迫切需要一个高效、便捷的系统来管理客户关系和销售流程。然而&#xff0c;传统的系统集成方式往往因复杂的API开发而令人望而却步。工程通API应运而生&#xff0c;它的无代码…

Halcon 模板匹配基于相关性

文章目录 基于相关性使用匹配助手 基于相关性 适用场景 模板匹配&#xff1a;当你需要在图像中找到一个已知的模板时&#xff0c;例如在工业生产线上检测产品的特定标识或零件的特征时&#xff0c;相关性匹配是一种简单而有效的方法。实时应用&#xff1a;相关性匹配通常具有较…

<软考高项备考>《论文专题 - 8 论文的项目背景之背景段的写法》

1 背景特征 比较好的背景特征&#xff1a; 语句通顺&#xff0c;简洁明了逻辑清晰、层次分明&#xff08;建议分1段-2段描写)项目内容描写清楚&#xff0c;和规模相符合&#xff08;从你写的项目内容和业务描述上&#xff0c;能够勾勒出项目的原型图)技术新颖、路线清晰、描写…

我的隐私计算学习——匿踪查询

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具&#xff0c;经由自己阅读后整理而成。 &#xff08;一&#xff09;PIR的介绍 ​ 匿踪查询&#xff0c;即隐私信息检索&#xff08;Private InformationRetrieval&#xff0c;PIR&#xff09;&#xff0c;是安全多方计算…

Epicypher:CUTANA™ E. coli Spike-in DNA

来源于Escherichia coli&#xff08;E.coli&#xff09;的片段DNA可以用作核酸酶靶向切割和释放&#xff08;CUT&RUN&#xff09;的实验标准化的spike-in对照。产品CUTANA™ E. coli Spike-in DNA含有足够的材料&#xff0c;可用于100-200个CUT&RUN样本&#xff08;高丰…

Linux系统编程总结:进程间通信之网络编程

这一块内容放在进程间通信也没有问题&#xff0c;因为进程间通信研究的就是进程之间如何进行协同操作、如何交换数据进行对话的过程&#xff0c;上一篇文章介绍的几种机制都是用在一台机器上的进程互相进行通信的&#xff0c;而网络套接字这种机制则是用来为两台不同机器上的进…

使用apriori来挖掘关联规则

1、apriori最重要的三个概念&#xff1a; 1、支持度 支持度 (Support)&#xff1a;指某个商品组合出现的次数与总订单数之间的比例。 在这个例子中&#xff0c;我们可以看到“牛奶”出现了 4 次&#xff0c;那么这 5 笔订单中“牛奶”的支持度就是 4/50.8。 2、置信度 置信度…

Win10错误代码0x80070005的解决方法

在Win10电脑操作过程中&#xff0c;用户可能会遇到各种各样的问题&#xff0c;从而影响到自己正常使用电脑办公。现在&#xff0c;就有用户遇到了错误码0x80070005的提示&#xff0c;但不清楚具体的解决方法。下面小编给大家分享不同的解决方法&#xff0c;解决后Win10电脑就能…

IP属地变化背后的原因

随着互联网的普及和技术的不断发展&#xff0c;IP属地变化的现象越来越受到人们的关注。近日&#xff0c;有网友发现自己的IP属地发生了变化&#xff0c;引发了广泛讨论。那么&#xff0c;IP属地为什么会发生变化呢&#xff1f; 首先&#xff0c;网络环境的变化是导致IP属地变化…

如何设置自动通过好友申请+自动回复?

1. 提供即时服务 当用户发送微信消息时&#xff0c;微信可以自动回复相应的内容&#xff0c;如欢迎语、订单确认、问题解答等&#xff0c;提供即时服务&#xff0c;不需要用户等待或反复发送消息。这种自动回复可以在特定的时间内自动通过好友请求&#xff0c;发送预先设置的…

PFA气体吸收瓶耐强酸PFA洗气瓶PFA鼓泡瓶特点分析

洗气瓶的别称有多种&#xff0c;取决于不同的地区和行业。以下是一些常见的别称&#xff1a; 1. 清洗瓶&#xff1a;因其主要用途是清洗气体样品而得名。 2. 干燥瓶&#xff1a;用于干燥气体样品的容器。 3. 气体净化瓶&#xff1a;用于净化气体样品的设备。 4. 气体清洗器…

性能测试 —— 认识 jmeter (性能测试流程 性能测试通过标准)

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 1 性能测试技能树   性能测试是一项综合性的工作&#xff0c;致力于暴露性能问题&#xff0c;评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户来验证系统…

docker-harbor的私有仓库

仓库 保存镜像 私有&#xff0c;自定义用户的形式登录仓库&#xff0c;拉取或者上传镜像&#xff08;内部管理的用户&#xff09; harbor:VMware公司开发的&#xff0c;开源的企业级的docker registry项目 帮助用户快速的搭建一个企业级的docker仓库的服务 支持中文 harbor…

磁盘空间分析工具你知道几个!8个易学易用的磁盘分析工具,让你对硬盘知根知底

以下是我对可用磁盘空间分析工具(有时称为存储分析器)的首选列表。在我的电脑上试用了其中几个应用程序后,我可以确认这里列出的应用程序是100%免费使用的,并且在弄清楚是什么填满了硬盘、闪存驱动器或外部驱动器中做了很多工作,其中一些甚至允许你直接从程序中删除文件。…

曹操出行集成:无代码API连接广告推广与用户运营

曹操出行集成的必要性 随着科技的不断进步&#xff0c;无代码API集成已经成为企业提升效率、优化营销策略的重要手段。对于新能源汽车共享服务领导者曹操出行而言&#xff0c;将其服务集成至企业营销系统中&#xff0c;不仅可以提升客户体验&#xff0c;还能加强品牌的市场竞争…

智慧工地防盗新手段:TSINGSEE青犀工地智能监控防盗系统方案

工地监控大家都很了解&#xff0c;主要是利用视频监控摄像头全方位无死角地对工地场所进行监控&#xff0c;并在汇聚平台&#xff08;如&#xff1a;安防监控系统EasyCVR平台&#xff09;上进行统一汇聚与分发。不过随着科技的发展&#xff0c;智能视频监控在工地监管方面又有了…

2023iEnglish学习成长营结营 助力自主阅读习惯养成

iEnglish智能英语学习解决方案日前消息,2023年最新一期的365天和1000天“iEnglish学习成长营”顺利结营。据悉,截至今年12月,完成365天和1000天每天坚持不低于30分钟的英语原版阅读人数分别累计突破15万人和2万人。而当前,21天、100天、365天以及1000天四种不同目标和意义的iEn…

Service Intelligence重磅来袭!AI驱动服务云更智能

11月中旬&#xff0c;Salesforce宣布推出了Service Intelligence &#xff0c;这是一款适用于Service Cloud的全新分析应用程序&#xff0c;旨在提高座席工作效率、削减成本并提高客户满意度。 Service Intelligence由Salesforce的实时超大规模数据引擎Data Cloud提供支持&am…

【设计模式--行为型--状态模式】

设计模式--行为型--状态模式 状态模式定义结构案例优缺点使用场景 状态模式 定义 对有状态的对象&#xff0c;把复杂的判断逻辑提取到不同的状态对象中&#xff0c;允许状态对象在其内部状态发生改变时改变其行为。 结构 环境角色&#xff08;Context&#xff09;&#xff…