【CSS】选择器(基本选择器、复合选择器、属性匹配选择器、结构伪类选择器、伪元素选择器)

选择器

  • 引入方式
  • 基础选择器
  • 复合选择器
  • 属性匹配选择器
  • 结构伪类选择器
  • 伪元素选择器

引入方式

1:外联

<!-- css引入方式1:外联   外联与内嵌优先级相同,取决于加载顺序 --><link rel="stylesheet" href="./样式.css">

2:内嵌

<!-- css引入方式2:内嵌(内部样式)   位于 head 标签内 --><style>.myclass{background-color: pink;}    
</style>

3:内联

<!-- css引入方式3:内联   优先级最高 --><div style="background-color: red;"></div>

基础选择器

id选择器类选择器标签选择器通配符选择器

<style>div{/* 优先级提到最高(但同样可能会被覆盖): !important */background-color: green !important;  }/* 标签选择器 */nav{width: 100%;height: 75px;background-color: yellow;}/* id选择器 */#mynav{width: 200px;height: 200px;background-color: green;}/* 类选择器 */.myclass{background-color: pink;}/* 通配符选择器 */*{margin: 0;padding: 0;}/* 优先级:id选择器 > 类选择器 > 标签选择器 > 通配符选择器 */        </style>

复合选择器

后代选择器直系选择器并集选择器交集选择器

<style>/* css选择器的权重计算: 内联(1000) > id(100)> class(10)> 标签(1)> *(0) */#page_header .left img{/* id为 page_header的标签下面的类为 left的标签下面的 img标签被选中 */}/* 后代选择器 */#page_header .mynav .left{  /* 100+10+10 *//* 不一定是父子关系 */color: green;}/* 直系选择器 */#page_header>nav>.left{  /* 100+1+10 *//* 必须是父子关系 */color: red;}/* 并集选择器 */nav,li{/* 逗号(表示:和)*/font-size: 24px;}/* 交集选择器 */li.left{/* 紧挨在一起,中间无空格 */background-color: aquamarine;}
</style>

属性匹配选择器

^*$

<style>/* 全匹配 */div[class="yangshi"]{background-color: gold;}/* 开头匹配 */input[type^="t"] {border: none;border-bottom: 1px solid red;} /* 结尾匹配 */input[type$="d"] {border: none;border-bottom: 1px solid red;}/* 包含 */input[type*="o"] {border: none;border-bottom: 1px solid red;} 
</style>

结构伪类选择器

:first-child:first-of-type

<style>#myDiv :first-child {background-color: #84c284;}#myDiv span:first-of-type {background-color: #e6a9fc;}#myDiv2>:first-child {background-color: #7eb6ff;}#myDiv2>span:first-of-type {background-color: #ffe054;}
</style>
<div id="myDiv"><div>我是myDiv的第 1 个孩子div</div><div id="myDiv_2Son"><p>我是myDiv_2Son的第 1 个孩子p</p><span>我是myDiv_2Son的第 2 个孩子,第 1 个span</span></div><span>我是myDiv的第 3 个孩子,第 1 个span</span>
</div>
<div id="myDiv2"><div>我是myDiv2的第 1 个孩子div</div><div id="myDiv2_2Son"><p>我是myDiv2_2Son的第 1 个孩子p</p><span>我是myDiv2_2Son的第 2 个孩子,第 1 个span</span></div><span>我是myDiv2的第 3 个孩子,第 1 个span</span>
</div>

效果:
在这里插入图片描述

:nth-child(n):nth-of-type(n)n从1开始

<style>#myDiv :nth-child(2) {background-color: #84c284;}#myDiv p:nth-of-type(2) {background-color: #e6a9fc;}
</style>
<div id="myDiv"><div>我是myDiv的第 1 个孩子div</div><div>我是myDiv的第 2 个孩子div</div><div id="myDiv_3Son"><span>我是myDiv_3Son的第 1 个孩子span</span><p>我是myDiv_3Son的第 2 个孩子,第 1 个p</p><p>我是myDiv_3Son的第 3 个孩子,第 2 个p</p></div><p>我是myDiv的第 4 个孩子,第 1 个p</p><p>我是myDiv的第 5 个孩子,第 2 个p</p>
</div>

效果:
在这里插入图片描述

:last-child:last-of-type

<style>#myDiv :last-child {background-color: #84c284;}#myDiv p:last-of-type {background-color: #e6a9fc;}
</style>
<div id="myDiv"><div id="myDiv_1Son"><p>我是myDiv_1Son的第 1 个孩子,第 1 个p</p><p>我是myDiv_1Son的第 2 个孩子,第 2 个p</p><span>我是myDiv_1Son的第 3 个孩子span</span></div><p>我是myDiv的第 2 个孩子,第 1 个p</p><p>我是myDiv的第 3 个孩子,第 2 个p</p><div>我是myDiv的第 4 个孩子</div>
</div>

效果:
在这里插入图片描述

:only-child:only-of-type

<style>#myDiv :only-child {background-color: #84c284;}#myDiv p:only-of-type {background-color: #e6a9fc;}
</style>
<div id="myDiv"><div id="myDiv_1Son"><div>我是myDiv_2Son唯一的孩子</div></div><div>我是myDiv的第 3 个孩子div</div><p>我是myDiv的第 4 个孩子,唯一的p</p>
</div>

效果:
在这里插入图片描述

:not()

<style>#myDiv :not(:nth-child(2)) {background-color: #84c284;}#myDiv2 :not(p) {background-color: #e6a9fc;}
</style>
<div id="myDiv"><div>我是第 1 个孩子div</div><p>我是第 2 个孩子p</p><div>我是第 3 个孩子div</div>
</div>
<div id="myDiv2"><div>div</div><p>p</p>
</div>

效果:
在这里插入图片描述

:hover:link:visited:active:focus:checked:disabled

<style>/*注意: :visited 应该在 :link 之后,:hover 必须位于 :link 和 :visited 之后, :active必须位于 :hover之后*/a:link{background-color: pink;}a:visited{background-color: #546aff;}a:hover{background-color: #e31dff;}a:active{background-color: #22a200;}input[type="text"]:focus{background-color: #93f879;}input[type="checkbox"]:checked{width: 30px;height: 30px;}button:disabled{background-color: #fffb00;}
</style>
<a href="./7.定位.html">超链接</a>
<input type="text">
<input type="checkbox">
<button disabled>按钮</button>

效果:
在这里插入图片描述

伪元素选择器

::before::after::selection::first-line::first-letter

<style>div::after{content: "啦啦啦啦"; /* 在选定元素的内容前插入内容 */color: #ef7878;}div::before{content: "嘻嘻嘻嘻"; /* 在选定元素的内容后插入内容 */color: #93f879;}p::selection{background-color: #7ffff0;}p::first-letter{font-size: 50px;font-weight: 700;}textarea::first-line{color: #e10730;}
</style>
<div>文字</div>
<p>可能产生即从次你说说对决是的上的点击菜单扫判搜索</p>
<textarea rows="5" cols="10">可能产生即从次你说说能产生即从次你说说对决是的上的点击菜单搜索</textarea>

效果:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot2:请求处理原理分析-利用内容协商功能实现接口的两种数据格式(JSON、XML)

文章目录 一、功能说明二、案例实现1、基于请求头实现2、基于请求参数实现 一、功能说明 我们知道&#xff0c;用ResponseBody注解标注的接口&#xff0c;默认返回给页面的是json数据。 其实&#xff0c;也可以返回xml结构的数据给页面。 这一篇就来实现一下这个小功能。 二、…

TI DSP下载器XDS100 V2.0无法使用问题

前言 TI DSP下载器XDS100 V2.0用着用着会突然报Error&#xff0c;特别是你想要用Code Composer Studio烧录下载程序的时候 查看设备管理器&#xff0c;发现XDS100 V2.0的设备端口莫名其妙消失了 问了淘宝的厂家&#xff0c;他说TI的开发板信号可能会导致调试器通信信号中断&a…

每日OJ_牛客_点击消除(栈)

目录 牛客_点击消除&#xff08;栈&#xff09; 解析代码 牛客_点击消除&#xff08;栈&#xff09; 点击消除_牛客题霸_牛客网 描述&#xff1a; 牛牛拿到了一个字符串。 他每次“点击”&#xff0c;可以把字符串中相邻两个相同字母消除&#xff0c;例如&#xff0c;字符…

LAMP环境下项目部署

目录 目录 1、创建一台虚拟机 centos 源的配置 备份源 修改源 重新加载缓存 安装软件 2、关闭防火墙和selinux 查看防火墙状态 关闭防火墙 查看SELinux的状态 临时关闭SELinux 永久关闭SELinux&#xff1a;编辑SELinux的配置文件 配置文件的修改内容 3、检查系统…

RAG 在企业应用中落地的难点与创新分享

在2024稀土开发者大会-AI Agent与应用创新分会上&#xff0c;我有幸分享了我们团队在企业应用中实施RAG&#xff08;检索增强生成&#xff09;的难点与创新。希望通过这篇文章&#xff0c;与大家探讨我们在实践中遇到的问题和解决方案&#xff0c;为从事相关工作的朋友提供一些…

python做游戏好用吗

Python做游戏是完全可以的&#xff0c;而且也非常简单&#xff0c;有一个专门针对游戏开发的平台&#xff08;模块&#xff09;—pygame&#xff0c;允许开发人员快速设计游戏而又摆脱了低级语言的束缚&#xff0c;下面我简单介绍一下这个模块的安装和使用&#xff1a; 1、首先…

lightdm , xrandr , startx 桌面管理器,窗口管理器

问题&#xff1a; 了解这几个的含义。 显示服务器 这个不是很明白 显示管理器&#xff0c; 知道就行了&#xff0c;也不是很明白。 窗口管理器。 桌面管理器。 这个其实就是 桌面环境了&#xff0c; 我们的板卡上使用的是xface 。 这个 xface 是一个集合&#xff0c;这里面…

CentOS安装Hadoop系列

安装Hadoop 1、安装SDK 2、Wget下载安装包到指定目录 3、选择hadoop的配置模式&#xff0c;单机模式&#xff0c;伪集群模式&#xff0c;集群模式 1、查找APACHE下载官网&#xff0c;搜索hadoop,进入目录&#xff0c;找到common目录&#xff0c;下载对应版本 国内&#xff0c;…

锁表导致系统挂了,谨慎DDL操作

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

整合Redis和RedisCacheManger

整合redis springboot在现在的版本中操作Redis数据库用到了lettuce&#xff0c;而不是Jedis&#xff0c;他们各有各的特点。Jedis以Redis命令作为方法名称&#xff0c;学习成本低&#xff0c;简单实用。但是Jedis实例是线程不安全的&#xff0c;多线程环境下需要基于连接池来使…

2-94 基于matlab的最佳维纳滤波器的盲解卷积算法

基于matlab的最佳维纳滤波器的盲解卷积算法。维纳滤波将地震子波转换为任意所需要的形态。维纳滤波不同于反滤波&#xff0c;它是在最小平方的意义上为最 佳。基于最佳纳滤波理论的滤波器算法是莱文逊(Wiener—Levinson)算法。程序提供了4种子波和4种期望输出&#xff1a;零延迟…

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本&#xff1a; API版本&#xff1a;以12为主 二、页面之间相互传参 说明&#xff1a; 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页…

用Kimi输出流程图

1.输入 我希望设计一个ERP系统&#xff0c;请帮我简单列一个流程图&#xff0c;用mermaid输出2.输出

这才几天,京东又又又又又又加薪了!

京东 今天的最新消息&#xff0c;京东又又又又又加薪了。 距离我们 京东宣布大幅上调校招薪资 的推文发布才一周多点的时间&#xff0c;京东又宣布加薪了。 好家伙&#xff0c;算上这次&#xff0c;光 2024 年京东就已经宣布了 6 次调薪了&#xff1a; 2024 年初&#xff0c;京…

全志T113方案OTA

1、目前使用的flash为128M&#xff0c;比较小&#xff0c;使用AB升级方式感觉空间不够&#xff0c;所以使用recovery升级linux 2、添加recovery分区 全志提供的SDK本来是不支持打包recovery分区的&#xff0c;需要修改sys_partition.fex&#xff0c;size也需要修改&#xff0c…

Springcould -第一个Eureka应用 --- day02

标题 Eureka工作原理Spring Cloud框架下的服务发现Eureka包含两个组件&#xff0c;分别是&#xff1a;Eureka Server与Eureka Client。Eureka Server&#xff1a;Eureka Client&#xff1a; 搭建Eureka Server步骤&#xff1a;步骤1&#xff1a;创建项目&#xff0c;引入依赖步…

第307题|快速掌握 反常积分敛散性判定的方法|武忠祥老师每日一题

解题思路&#xff1a;先判断这个反常积分的敛散性&#xff0c;再讨论a的取值范围; 判断反常积分的敛散性&#xff0c;我们通常有三个方法&#xff1a; &#xff08;1&#xff09;根据定义&#xff0c;通常在原函数比较好求的情况下&#xff0c;可以根据定义 &#xff08;2&am…

Web3的崛起与智能合约的角色

随着Web3的发展&#xff0c;去中心化网络逐渐取代了以往的集中控制互联网模式。这一转变不仅强调了用户的自治权和隐私保护&#xff0c;还引入了智能合约这一核心技术。智能合约基于区块链技术&#xff0c;能够自动执行合约条款&#xff0c;无需中介干预&#xff0c;从而确保了…

低代码-赋能新能源汽车产业加速前行

在“双碳”战略目标的引领下&#xff0c;全球新能源汽车产业正经历着前所未有的发展和变革&#xff0c;新能源汽车整车制造成为绿色低碳转型的重要领域。在政府的大力扶持下&#xff0c;新能源整车制造领域蓬勃发展&#xff0c;已成为全球汽车产业不可逆转的重要趋势。新能源汽…

数据结构修炼——顺序表和链表的OJ题练习

目录 一、顺序表相关OJ题1 移除元素题目解析 2 合并两个有序数组题目解析 二、链表相关OJ题1 移除链表元素题目解析 2 反转链表题目解析 3 链表的中间结点题目解析 4 合并两个有序链表题目解析 5 链表的回文结构题目解析 6 相交链表题目解析 7 环形链表的判断题目解析 8 环形链…