css的复合选择器(有案例)

目录

复合选择器的描述

后代选择器(常用重点)

子选择器

并集选择器(重点常用)

伪类选择器

链接伪类选择器

focus 伪类选择器

知识总结:

案例实现:


  • 复合选择器的描述

在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的,简单来说就是对基础选择器混合在一起使用

 复合选择器可以更准确、更高效的选择目标元素(标签)

 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等

后代选择器(常用重点)

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在 后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

语法:

元素1 元素2 { 样式声明 }

上述语法表示选择元素 1 里面的所有元素 2 (后代元素)。

ul li { 样式声明 } /* 选择 ul 里面所有的 li标签元素 */

特点:

 元素1 和 元素2 中间用空格隔开

 元素1 是父级,元素2 是子级,最终选择的是元素2

 元素2 可以是儿子,也可以是孙子等,只要是元素1 的后代即可

 元素1 和 元素2 可以是任意基础选择器

子选择器

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素

语法:

元素1 > 元素2 { 样式声明 }

上述语法表示选择元素1 里面的所有直接后代(子元素) 元素2。列如

div > p { 样式声明 } /* 选择 div 里面所有最近一级 p 标签元素 */

 元素1 和 元素2 中间用 大于号 隔开

 元素1 是父级,元素2 是子级,最终选择的是元素2

 元素2 必须是亲儿子,其孙子、重孙之类都不归他管. 你也可以叫他 亲儿子选择器

并集选择器(重点常用)

定义:并集选择器可以选择多组标签, 同时为他们定义相同的样式。通常用于集体声明. 并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分,简单的理解就是多个基础选择器合并在一起,都会生效。

语法:

元素1,元素2 { 样式声明 }

上述语法表示选择元素1 和 元素2。

例如:

ul,div { 样式声明 } /* 选择 ul 和 div标签元素 */

 元素1 和 元素2 中间用逗号隔开

 逗号可以理解为和的意思

 并集选择器通常用于集体声明

伪类选择器

什么是伪类选择器?

伪类选择器用于向某些选择器添加特殊的效果,

比如给链接添加特殊效果,或选择第1个,第n个元素。 伪类选择器书写最大的特点是用冒号(:)表示,比如 :hover 、 :first-child

伪类选择器很多,比如有链接伪类、结构伪类等,所以这里先给大家讲解常用的链接伪类选择器。

链接伪类选择器

一 链接伪类选择器注意事项.

二 链接伪类选择器实际开发中的写法. 链接伪类选择器注意事项

1. 为了确保生效,请按照 LVHA 的循顺序声明 :link-:visited-:hover-:active。

2. 记忆法:love hate 或者 lv 包包 hao 。

3. 因为 a 链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

链接伪类选择器实际工作开发中的写法:

 /* a 是标签选择器 所有的链接 */ 
 a { 
 color: gray;
 }
 /* :hover 是链接伪类选择器 鼠标经过 */
 a:hover { 
 color: red; /* 鼠标经过的时候,由原来的 灰色 变成了红色 */
 } 

focus 伪类选择器

:focus 伪类选择器用于选取获得焦点的表单元素。 焦点就是光标,一般情况 类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input:focus { 
 background-color:yellow;

知识总结:

案例实现:

<!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>/* 后代选择器 */.A ul li a {color: pink;}/* 子类选择器 */.B>p {color: red;}/* 并集选择器a,p {color: yellow;} *//* 伪类选择器 */a {color: gray;}a:hover {color: red; /* 鼠标经过的时候,由原来的 灰色 变成了红色 */}/* focus 伪类选择器 */input:focus { background-color:yellow;} </style>
</head>
<body><!-- 问题:将a中的文本颜色改成粉色 --><div class="A"><ul><li><a href="">后代选择器1</a></li><li><a href="">后代选择器1</a></li></ul></div><!-- 要求:将div的父子的p标签改成红色 --><div class="B"><p>我是div的儿子</p></p></p><ul><li><p>我是div的孙子</p></li></ul></div><!-- 要求:将p标签和a标签改成黄色--><div class="C"><p>我是div的儿子</p><ul><li><p>我是div的孙子</p></li><li>我是li标签</li></ul><a href="#">我是一个超链接</a></div><!-- 要求:显示不懂的状态 --><div class="D"><a href="#">我是一个超链接</a></div><div class="E"><a href="#">我是一个超链接</a><input type="text"><input type="text"><input type="text"></div></body>
</html>

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

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

相关文章

AI跨界学习,不再是梦!

大家好&#xff01;今天给大家推荐的 GPTs 是【行业知识脉络】&#xff0c;帮助大家快速了解某个领域的脉络&#xff0c;并提供足够的学习资料和建议。 在AI时代&#xff0c;从小白到专家的1万小时定律即将失效&#xff0c;用少于1千小时掌握行业知识树和其核心概念是如何学习的…

Rocket MQ 架构介绍

文章目录 为什么选择Rocket MQ基本概念优点缺点架构图编程模型发送者发送消息固定步骤消费者消费消息固定步骤 为什么选择Rocket MQ Rocket MQ是阿帕奇顶级的开源项目&#xff0c;由阿里开发并开源。它的研发背景是Active MQ与Kafka不能很好的解决当时的业务场景。官网上是这么…

基于JavaWeb+SpringBoot+Vue在线拍卖系统的设计和实现

基于JavaWebSpringBootVue在线拍卖系统系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 摘 要 1 Abstract 1 1 系统概述 4 1.1 概述 4 1.2课题意义 4 1.3 主要内容 4 2 …

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(一)——创建Glue

1 通过Athena查询s3中的数据 此实验使用s3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 1 通过Athena查询s3中的数据1.1 架构图1.2 创建Glue数据库1.3 创建爬网程序1.4 创建表1.4.1 爬网程序创建表1.4.2 手动创建表 1…

机器学习基础介绍

百度百科&#xff1a; 机器学习是一门多领域交叉学科&#xff0c;涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为&#xff0c;以获取新的知识或技能&#xff0c;重新组织已有的知识结构使之不断改善自身的性能。 …

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(三)——serverless数据分析

3 serverless数据分析 大纲 3 serverless数据分析3.1 创建Lambda3.2 创建API Gateway3.3 结果3.4 总结 3.1 创建Lambda 在Lambda中&#xff0c;我们将使用python3作为代码语言。 步骤图例1、入口2、创建&#xff08;我们选择使用python3.7&#xff09;3、IAM权限&#xff08;…

控制台打印如来佛图像

代码 System.out.println(" _ooOoo_ \n"" o8888888o \n"" 88 \".\" 88 …

银河麒麟v10系统SSH远程管理及切换root用户的操作方法

&#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一…

手把手教你玩转ESP8266(原理+驱动)

在嵌入式开发中&#xff0c;无线通信的方式有很多&#xff0c;其中 WIFI 是绕不开的话题。说到 WIFI 通信&#xff0c;就不得不提 ESP8266了。 ESP8266 是一款高性能的 WIFI 串口模块&#xff0c;实现透明传输。只要有一定的串口知识&#xff0c;不需要知道 WIFI 原理就可以上…

bugsplat64.dll文件丢失的多种详细有效解决方法

一、bugsplat64.dll是什么&#xff1f; bugsplat64.dll是Windows操作系统中的一个动态链接库文件&#xff0c;它包含了一些用于错误报告和调试的功能。当程序运行时遇到错误时&#xff0c;系统会调用bugsplat64.dll来收集错误信息并将其发送给开发人员进行修复。因此&#xff…

vm虚拟机固定IP

最近使用vm虚拟机 &#xff0c;可用了一段时间ip就自动变化&#xff0c;于是去网上看了不少教程&#xff0c;但很多都没用。 1.编辑配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改BOOTPROTO为static加入属性IPADDR,设置你想要设置的ip配置GATEWAY与DNS1 不配置GA…

ubuntu16.04升级openssl

Ubuntu16.04 默认带的openssl版本为1.0.2 查看&#xff1a;openssl version 1.下载openssl wget https://www.openssl.org/source/openssl-1.1.1.tar.gz 编译安装 tar xvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config make sudo make install sudo ldconfig 删除旧版本 su…

ES-环境安装(elasticsearch:7.17.9,kibana,elasticsearch-head)

ES 环境搭建 1 拉取镜像 常用三件套 docker pull kibana:7.17.9 docker pull elasticsearch:7.17.9 docker pull mobz/elasticsearch-head:52 启动镜像 elasticsearch 安装 这里可以先不挂载文件启动一波&#xff0c;然后把容器里的文件拷贝出来 docker run -p 19200:9200 …

如何选择一款安全可靠的跨网安全数据交换系统?

随着网络和数据安全的重视程度增加&#xff0c;为了有效地保护内部的核心数据资产&#xff0c;普遍会采用内外网隔离的策略。像国内的政府机构、金融、能源电力、航空航天、医院等关乎国计民生的行业和领域均已进行了网络的隔离&#xff0c;将内部划分成不同的网段&#xff0c;…

扩散模型实战(十四):扩散模型生成音频

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xff…

点滴生活记录2

我从小跟着我爷爷奶奶&#xff0c;小学六年级转到县城上小学&#xff0c;就没跟我奶奶他们住一起了。十一回家&#xff0c;把奶奶接到我这住&#xff0c;细想&#xff0c;自六年级之后&#xff0c;就很少跟奶奶住一起了。 奶奶&#xff08;间歇性&#xff09;耳聋&#xff0c;为…

2023年阿里云云栖大会-核心PPT资料下载

一、峰会简介 历经14届的云栖大会&#xff0c;是云计算产业的建设者、推动者、见证者。2023云栖大会以“科技、国际、年轻”为基调&#xff0c;以“计算&#xff0c;为了无法计算的价值”为主题&#xff0c;发挥科技平台汇聚作用&#xff0c;与云计算全产业链上下游的先锋代表…

DHTMLX Scheduler PRO 6.0.5 Crack

功能丰富的 JavaScript调度程序 DHTMLX Scheduler 是一个 JavaScript 日程安排日历&#xff0c;具有 10 个视图和可定制的界面&#xff0c;用于开发任何类型的日程安排应用程序。 DHTMLX JS 调度程序库的主要特性 我们的 JS 调度程序最需要的功能之一是时间轴视图。借助时间轴…

Ubuntu安装TensorRT

文章目录 1. 安装CUDAa. 下载CUDAb. 安装CUDAc. 验证CUDA 2. 安装CUDNNa. 下载CUDNNb. 安装CUDNNc. 验证CUDNN 3. 安装TensorRTa. 下载TensorRTb. 解压TensorRTc. 安装TensorRTd. 安装uff和graphsurgeone. 验证是否安装成功f. 备注 关注公众号&#xff1a;『AI学习星球』 回复&…

奇点云2023数智科技大会来了,“双12”直播见!

企业数字化进程深入的同时&#xff0c;也在越来越多的新问题中“越陷越深”&#xff1a; 数据暴涨&#xff0c;作业量和分析维度不同以往&#xff0c;即便加了机器&#xff0c;仍然一查就崩&#xff1b; 终于搞定新增渠道数据的OneID融合&#xff0c;又出现几个渠道要变更&…