htmlCSS-----CSS选择器(下)

news2024/11/23 19:50:19

目录

前言:

2.高级选择器

 (1)子代选择器

(2)伪类选择器

(3)后代选择器

(4)兄弟选择器

相邻兄弟选择器

 通用兄弟选择器

(5)并集选择器

(6)交集选择器


前言:

        上一期讲了CSS选择器中的初级选择器,那么这一期我们就接着学习CSS中的高级选择器,下面就一起来看看吧!(上一期链接:html&CSS-----CSS选择器(上)_灰勒塔德的博客-CSDN博客)

2.高级选择器

 (1)子代选择器

  • 结构:选择器1 > 选择器2 {css属性名:属性值;}

  • 在选择器1所找到标签的子代(子代只包括:儿子)中,找到满足选择器2的标签,设置样式

 写法:

div > a {
    color: red;
}

示例:

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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
   <a href="https://www.yhdmz2.com/" target="_blank" id="cartoon">点开我开始看动漫
    <div>
        <p>こんにちは</p>
    </div>
    <p>你好!</p>
   </a>
</body>
</html>

CSS代码:

#cartoon{
    text-decoration: none;
    font-size: 30px;
}
#cartoon>div>p{
    color: red;
    pointer-events:none

}

效果:

 这里可以看出,子类选择器是作用到div里面的p标签,所以字体会显示红色,而外面的p标签还是保持原来的样子。

(2)伪类选择器

样式::nth-of-type(表达式)  

这一类选择器可以用于筛选的作用,下面看个示例:

 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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
   <a href="https://www.yhdmz2.com/" target="_blank" id="cartoon">点开我开始看动漫
   <ul>
    <li>first</li>
    <li>second</li>
    <li>third</li>
    <li>forth</li>
    <li>fifth</li>
   </ul>
</body>
</html>

CSS代码:

#cartoon{
    text-decoration: none;
    font-size: 30px;
    color: blueviolet;
}
#cartoon>ul>li:nth-of-type(2n+1){
    color: chocolate;
}

效果:

 这里可以看出如果我的表达式填入的是2n+1是表示奇数的意思,也就意味着1,3,5是变为巧克力色的,而2和4是保持原理的颜色,如果我填入的是2n的话那就是偶数的被作用。

(3)后代选择器

  • 结构:选择器1 选择器2 {css属性名:属性值;}

  • 在选择器1所找到标签的后代(后代包括:儿子、孙子、重孙子……)中,找到满足选择器2的标签,设置样式

div a {
    color: red;
}

写法上跟子代选择器相比少了>符号,其实效果是差不多的,基本上没什么大区别。

(4)兄弟选择器

相邻兄弟选择器(亲兄弟相邻的)

相邻兄弟选择器用于匹配某个元素之后紧邻的另一个元素,这两个元素拥有同一个父级元素并且不存在嵌套关系。相邻兄弟选择器的定义需要用到加号+,加号两边为相邻的两个元素,选择器会匹配加号后面的元素

 写法:

div + p {
    color: red;
}

 示例:

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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
    <div class="first">我是第一个</div>
    <div class="second">我是第二个</div>
    <div>我是第三个</div>
</body>
</html>

CSS代码:

*{
    color: red;
    font-size: 40px;
}

.first+div
{
    color: aquamarine;
}

效果:

 说明:这里只有第二个变颜色是因为这个是通过亲兄弟关系,也就是相邻的满足条件才可以被选中,同时被选中的前一个必须有一个哥哥才可以,否则就不会被选中

 通用兄弟选择器(表兄弟)

通用兄弟选择器同样会匹配同一父级元素下的兄弟元素,但兄弟元素之间无需紧邻。定义通用兄弟选择器需要用到波浪号~,波浪号两边为同一父级元素下的两个元素,选择器会匹配波浪号后面的元素

写法:

p ~ p {
    color: pink;
}

 示例: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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
    <div class="first">我是第一个</div>
    <div class="second">我是第二个</div>
    <div>我是第三个</div>
</body>
</html>

CSS代码:

*{
    color: red;
    font-size: 40px;
}
/*.first~div和div~div  效果是一样的*/
div~div
{
    color: aquamarine;
}

 效果:

说明:这里是通过表兄弟关系就可以实现选择器,第一个没有变颜色的原因是因为第一个前面没有哥哥,这里要满足条件的是前面必须有一个哥哥,否则就不会被选中 

(5)并集选择器

实现多个无关系或者有关系的标签统一化处理,一般用于两个标签之间的统一处理,格式如下:

选择符1,选择符2{

………………

}

示例:

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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
   <a href="https://www.yhdmz2.com/" target="_blank" id="cartoon">点开我开始看动漫
   <ul>
    <li>first</li>
    <li>second</li>
    <li>third</li>
    
   </ul>
</body>
</html>

 CSS代码:

#cartoon{
    text-decoration: none;
    font-size: 30px;
    color: blueviolet;
}
body,ul{
    margin: 0;
}
a>ul>li:nth-of-type(2),a>ul>li:nth-of-type(3){
    color: brown;
}

 效果:

 这里可以看出,second和third变成了棕色,这里就是通过并集选择器去实现的。

(6)交集选择器

  • 结构:选择器1选择器2{css属性名:属性值;}

  • 找到页面中能被选择器1选中,能被选择器2选中的标签,设置样式

  • 交集选择器中的选择器之间是紧挨着的,没有东西分隔

  • 这一类选择器用得很少,一般用于大量代码中精准选择指定的元素标签

示例:

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>
    <link rel="stylesheet" href="./index.css">
</head>
<body>
    <div class="nice">喜欢看巨人吗</div>
   <p class="good">艾伦.耶格尔</p>
   <p class="better nice">三笠</p>
</body>
</html>

这里我想通过类选择选中下面含有nice类的p标签进行去处理,那同时还不能影响到上面含有nice的div标签,CSS代码写法:

*{
    color: red;
}
p.nice{
    font-size: 30px;
    color: aquamarine;
}

效果:

 这里可以看出,最后一个的字体大小和颜色都不一样,说明选中成功。

好了以上就是本期的全部内容了,你们对CSS选择器是不是有了新的了解呢?去试试做一个简单的网页界面吧!

分享一张壁纸: 

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

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

相关文章

测试进阶必备,这5款http接口自动化测试工具真的很香

现在市场上能做接口自动化测试的工具有很多&#xff0c;一搜一大把&#xff0c;让人眼花缭乱。我们去选择对应实现方式时&#xff0c;不管是框架体系还是成熟稳定的工具&#xff0c;核心目的都是期望引入的技术能在最低投入的情况下达到最优效果。 那么我们选择依据出来了&…

LearnOpenGL-高级OpenGL-9.几何着色器

本人初学者&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 文章目录 几何着色器使用几何着色器造几个房子爆破物体法向量可视化 几何着色器 简介 在顶点和片段着色器之间有一个可选的几何着色器几何着色器的输入是一个图元&#xff08;如点或三角形&#xff09;的一…

【02】STM32·HAL库开发-Cortex-M系列介绍 | Cortex内核分类及特征 | Cortex-M3/M4/M7介绍

目录 1.ARM公司&#xff08;了解&#xff09;2.Cortex内核分类及特征&#xff08;了解&#xff09;3.Cortex-M3/4/7介绍&#xff08;了解&#xff09; 1.ARM公司&#xff08;了解&#xff09; ARM的R是RISC&#xff08;精简指令集计算机&#xff09;的缩写。ARM公司只做内核设计…

数学模型在水环境影响评价、防洪评价与排污口论证项目中的应用

数学模型在水环境评价、防洪评价和排污口论证等领域中的重要作用&#xff0c;随着人类活动的不断增加和环境问题的日益突出&#xff0c;对水资源和水环境的保护与管理变得至关重要。为了更好地理解和应对这些挑战&#xff0c;数学模型成为一种强大的工具&#xff0c;能够提供量…

ubuntu22.04使用kk安装kubernates1.20.4和kubesphere3.1.1

注意 存储空间不够可能安装失败 环境 master 192.168.1.108node1 192.168.1.106node2 192.168.1.102 root ssh登录 sudo passwd root sudo apt install openssh-server # 定位 /PermitRootLogin 添加 PermitRootLogin yes # 注释掉#PermitRootLogin prohibit-password #St…

【Jenkins+Ant+Jmeter】持续集成接口测试平台搭建

一、环境准备&#xff1a; 1、JDK&#xff1a;Java Downloads | Oracle 2、Jmeter&#xff1a;Apache JMeter - Download Apache JMeter 3、Ant&#xff1a;Apache Ant - Binary Distributions 4、Jenkins&#xff1a;Jenkins 二、Jemter脚本准备&#xff1a; 1、脚本目录&a…

PyTorch实验—回归任务

PyTorch回归任务 回归任务概述&#xff1a;通过pytorch搭建神经网络&#xff0c;进行气温的预测 回归任务可以看作 y kx b y为需要进行回归预测的值 下面对实验步骤进行整理 导入相关的库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import…

张小飞的Java之路——第四十四章——其他流对象

写在前面&#xff1a; 视频是什么东西&#xff0c;有看文档精彩吗&#xff1f; 视频是什么东西&#xff0c;有看文档速度快吗&#xff1f; 视频是什么东西&#xff0c;有看文档效率高吗&#xff1f; 诸小亮&#xff1a;这一节&#xff0c;我们介绍一下其他不常用的流对象 …

SAP-MM-分割评估-评估类型-评估类别

同一物料的使用&#xff0c;既有“自制品”&#xff0c;又有“外购品”&#xff0c;并且其来源不同&#xff0c;如同一外购品由不同的供应商提供&#xff0c;价格也不相同。也就是说:同一物料有不同的价值指派&#xff0c;即在不同的条件下&#xff0c;同一物料可能有不同的价值…

智能型数字档案馆构建设想

档案作为企业正式权威的数据资源&#xff0c;具有其历史传承和凭证唯一性等特点&#xff0c;随着企业的数字化转型&#xff0c;档案工作更需要数字化转型&#xff0c;档案管理与利用急需借助信息技术手段来管理好和记录好&#xff0c;急需挖掘档案资源&#xff0c;发挥其价值&a…

01.硬盘启动盘,加载操作系统

硬盘启动盘&#xff0c;加载操作系统 模拟硬盘加载操作系统 环境&#xff1a; VMware16 Ubuntu16.04 qemu bochs 2.7 参考: 启动&#xff0c;BIOS&#xff0c;MBR 硬盘控制器主要端口寄存器 《操作系统真相还原》 1.系统开机流程 暂不构建中断向量表&#xff0c;直接加载MBR …

Knowledge Distillation: A Survey

本文是蒸馏学习综述系列的第一篇文章&#xff0c;主要是针对2021年 IJCV Knowledge Distillation: A Survey的一个翻译。 知识蒸馏&#xff1a;综述 摘要1 引言2 知识2.1 基于响应的知识2.2 基于特征的知识2.3 基于关系的知识 3 蒸馏方案3.1 离线蒸馏3.2 在线蒸馏3.3 自蒸馏 4…

你真的了解epoll吗?深入epoll的五个问题

由于epoll用的比较多&#xff0c;最近看到一些网友关于epoll的问答&#xff0c;所以我就想整理成一篇文章&#xff0c;这样看起来和理解起来都方便一些。 问题1&#xff1a;什么是epoll的ET/LT模式&#xff0c;select/poll支持吗&#xff1f; ET是edge trigger&#xff0c;也…

K8s in Action 阅读笔记——【9】Deployments: updating applications declaratively

K8s in Action 阅读笔记——【9】Deployments: updating applications declaratively 集群配置&#xff1a; 本章介绍如何更新运行在Kubernetes集群中的应用&#xff0c;以及Kubernetes如何帮助你实现真正的零停机更新过程。虽然这可以仅使用ReplicationControllers或ReplicaSe…

【Spring】javaBean、依赖注入、面向切面AOP、使用注解开发

文章目录 JavaBeanIoC理论基础使用IoC容器使用Spring 生命周期与继承生命周期继承 依赖注入 Dependency Injection基本类型注入非基本类型注入集合注入自动装配注入 面向切面AOP使用SpringAOP环绕方法 使用接口实现AOP 使用注解开发注解实现配置文件注解实现AOP操作其他注解配置…

MongoDB6.0.6 副本集搭建(CentOs8)

本文只说如何操作配置副本集&#xff0c;历程艰难&#xff0c;官网文档看了半天也只说了怎么添加单个&#xff0c;没有给出来一个完整的流程。 1.第一步安装&#xff0c;参考前一篇安装即可。 配置三台虚拟机&#xff1a; 192.168.182.142 192.168.182.143 192.168.182.14…

钉钉小程序页面之间传递数据如何传递对象

今天写代码的时候&#xff0c;发现了一个问题&#xff0c;在钉钉小程序页面之间传递对象数据的时候&#xff0c;如果直接传递一个对象那个的话&#xff0c;接收的那个页面得到的是一个【object Object】&#xff0c;而并非里面的数据&#xff0c;所以针对上述问题&#xff0c;下…

基于Spring Boot的学生志愿者管理系统的设计与实现

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对学生志愿者管理等问题&#xff0c;对学生…

项目计划软件 project安装包的下载和安装教程

目录 简介 安装配置过程 总结&#xff1a; 简介 Project是由微软公司开发的项目管理软件&#xff0c;旨在帮助个人和团队有效地管理项目进度、资源分配、协作和报告等工作&#xff0c;从而提高项目的质量和效率。Project维护项目的进程表、资源清单、成本预算、工作表和报告…

CSS-HTML知识点与高频考题解析

知识点梳理 选择器的权重和优先级 盒模型 盒子大小计算margin 的重叠计算 浮动 float浮动布局概念清理浮动 定位 position文档流概念定位分类fixed 定位特点绝对定位计算方式 flex布局 如何实现居中对齐&#xff1f; 理解语义化 CSS3 动画 重绘和回流 选择器的权重和优…