前端学习之css选择器--基本选择器、关系选择器、属性选择器、复合选择器、伪类选择器

news2024/9/20 7:59:14

目录

基本选择器

结果

关系选择器

结果

父子关系

祖先后代关系

相邻兄弟关系

兄弟关系

​编辑

 属性选择器

结果

 复合选择器

结果

 伪类选择器

 结果

伪类选择器-操作标签

结果

未访问

访问后

悬停


基本选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基本选择器</title>
    <!-- 
        基本选择器
            1、类选择器
            2、id选择器
            3、标签选择器
            4、通配符选择器    
    -->
    <style>
        /* 1、class选择器,一个标签可以设置一个或者多个选择器
        指的是标识test1这个类型
        class属性可以填写多个类型
        写在后面的class属性值覆盖前面的值 */
        .test1{
            color: aqua;
        }
        .test2{
            color: beige;
        }
        .test3{
            color: rgb(255, 205, 228);
        }
        /* 
        id选择器用#标识
        #id属性值
         */
        #tesd-id{
            color: brown;
        }
        /*
        3、标签选择器
        直接使用标签名称
        */
        span{
            /* 背景 */
            background-color: bisque;
        }
        /*
        4、通配符选择器,不建议使用
        会选中html页面全部元素
         */
         *{
            background-color: black;
         }
    </style>
</head>
<body>
    <span class="test1 test3">测试文字</span>
    <span class="test2">测试文字</span>
    <span id="tesd-id">测试文字</span>
</body>
</html>

结果

关系选择器

测试不同关系时要将其他关系测试代码注释掉,以防相互影响。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>关系选择器</title>
    <!-- 
        1、父子
        2、祖先、后代
        3、相邻兄弟
        4、兄弟
     -->
     <style>
        /* 父子关系测试,渲染子标签,下面的代码渲染的是测试内容p和测试内容span,因为span在p里面 */
        div>p{
            color: aqua;
        }
        /* 祖先后代关系测试,渲染后代,又被成为后代选择器 */
        /* div span{
            color: brown;
        } */
        /* 相邻兄弟关系测试,注意是相邻的也就是在下面例子中只有测试1改变,且+只代表向下渲染*/
        /* .div+span{
            color: brown;

        } */
        /* 兄弟选择器,这个选的是全部的兄弟,同理也只可以向下渲染 */
        #test-p~span{
            color: blueviolet;
        }
     </style>
</head>
<body>
    <!-- 父子关系测试 -->
    <div>
        测试内容--div
        <p>
            测试内容-p
            <span>测试内容-span</span>
            <span>测试内容-span</span>
        </p>
        <p>测试内容-p</p>
    </div>
    <!-- 祖先后代测试 -->
    <!-- <div>
        测试内容--div
        <p>
            测试内容-p
            <span>测试内容-span</span>
            <span>测试内容-span</span>
            <span>测试内容-span</span>

        </p>
    </div> -->
    <!-- 相邻兄弟关系测试 -->
    <!-- <div class="div">
        测试内容--div
        <p>
            测试内容-p
            <span class="test1">测试内容-span</span>
            <span class="test2">测试内容-span</span>
            <span id="test-1">测试内容-span</span>

        </p>
    </div>
    <span>测试1</span>
    <span>测试2</span>
    <span>测试3</span>
    <span>测试4</span> -->
    <!-- 兄弟关系测试 -->
    <!-- <div class="div">
        测试内容--div
        <p>
            测试内容-p
            <p id="test-p">ppp测试</p>
            <span class="test1">测试内容-span</span>
            <span class="test2">测试内容-span</span>
            <span id="test-1">测试内容-span</span>

        </p>
    </div>
    <span>测试1</span>
    <span>测试2</span>
    <span>测试3</span>
    <span>测试4</span> -->
</body>
</html>

结果

父子关系

祖先后代关系

相邻兄弟关系

兄弟关系

 属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <!-- 
        1、属性名
        2、属性名=属性值
        3、属性名^= (以某某开头的)
        4、属性名$=属性值 (以某某结尾的)
        5、属性名*=属性值 (包含某某)
     -->
     <style>
        /* 属性名 */
        [title]{
            color: brown;
        }
        /* 属性名 = 属性值 */
        [class="abcd"]{
            color: aqua;
        }
        /* 属性名^= (以某某开头的) */
        [title^="a"]{
            font-size: 120px;
        }
        /* 属性名$=属性值 (以某某结尾的) */
        [title$="c"]{
            color: blueviolet;
        }
        /* 属性名*=属性值 */
        [title*="bc"]{
            background-color: aqua;
        }
        /* 选择以a开头的属性title相邻的p标签 */
        [title^="a"]+p{
            color: chartreuse;
        }
     </style>
</head>
<body>
    <div title="a">a</div>
    <div title="ab">ab</div>
    <div title="abc">abc</div>
    <p class="abcd">abcd</p>
</body>
</html>

结果

 复合选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>复合选择器</title>
    <!-- 
        交集
        并集
        可以组合各种选择器,包括属性选择器,关系选择器,基本选择器
     -->
     <style>
        /* 交集 */
        .pc2#p1{
            color:red;
        }
        /* 并集 */
        .pc2,.d1{
            color:yellow;
        }
        [id="p1"],[class="d1"]{
            font-size: 120px;
        }
     </style>
</head>
<body>
    <p id="p1" class="pc1">测试内容1</p>
    <p id="p1" class="pc2">测试内容2</p>
    <div id="d1" class="d1">测试内容3</div>
    <div id="d1" class="d2">测试内容4</div>
</body>
</html>

结果

 伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类选择器</title>
    <!-- 
        这个冒号后面的就是伪类选择器,
        伪类选择器,就是这是一个操作,
        不是一个标签之类的东西下面例
        子就是鼠标悬停后要产生的变化。
     -->
    <style>
        div{
            width: 200px;
            height: 200px;
            border: 1px solid black;
            background-color: yellow;
        }
        div:hover{
            width: 50px;
            height: 50px;
            border: 1px solid black;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div>

    </div>
</body>
</html>

 结果

伪类选择器-操作标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类选择器-操作标签</title>
</head>
    <style>
        /* 未访问标签 */
        [href]:link{
            color: aqua;
        }
        /* 按压标签 */
        [href]:active{
            color: rgb(0, 255, 51);
        }
        /* 访问后标签 */
        [href]:visited{
            color: yellow;
        }
        /* 悬停标签 */
        [href]:hover{
            color: blueviolet;
        }
    </style>
<body>
    <a href="./2.1基本选择器.html">跳转到2.1</a>
</body>
</html>

结果

未访问

访问后

悬停


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚

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

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

相关文章

Java八股文(Git)

Java八股文のGit Git Git Git 是什么&#xff1f;它有什么作用&#xff1f; Git 是一种分布式版本控制系统&#xff0c;用于管理源代码的变更和追踪。 它可以记录文件更改的历史&#xff0c;帮助多人协同开发&#xff0c;并提供了回滚、分支管理等功能。 Git 和 SVN&#xff0…

数字电子技术实验(四)

单选题 1.组合逻辑电路中产生竞争冒险的原因是&#xff1f; A. 电路没有最简化 。 B. 时延 。 C. 电路有多个输出。 D. 逻辑门的类型不同。 答案&#xff1a;B 评语&#xff1a;10分 单选题 2.下列表达式不存在竞争冒险的有&#xff1f; 答案&#xff1a;A 评语&#x…

【b站咸虾米】2 Vue基础(下) 2021最新Vue从基础到实例高级_vue2_vuecli脚手架博客案例

课程地址&#xff1a;【2021最新Vue从基础到实例高级_vue2_vuecli脚手架博客案例】 https://www.bilibili.com/video/BV1pz4y1S7bC/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 2 Vue基础 下 2.8 计算属性 2.8.1 计算属性使用 2.8.2 计算…

MySQL:视图

1. 概述 在MySQL中&#xff0c;视图&#xff08;View&#xff09;是一个虚拟存在的表&#xff0c;其内容是由查询定义的。视图本身并不包含数据&#xff0c;它只包含一条SQL查询语句&#xff08;即定义视图的SELECT语句&#xff09;。当通过视图访问数据时&#xff0c;MySQL会执…

zed2i相机驱动的安装(2)

安装完sdk和wrapper&#xff0c;启动时显示缺少标定文件&#xff0c;第一反应是运行自带的标定程序 但是此时运行ZED tools里的标定程序也会出问题 打开 On Linux : /usr/local/zed/settings/On Windows : C:\ProgramData\Stereolabs\settings 查看里面是否是空的&#xff…

c++算法学习笔记 (8) 树与图部分

1.树与图的存储 &#xff08;1&#xff09;邻接矩阵 &#xff08;2&#xff09;邻接表 // 链式前向星模板&#xff08;数组模拟&#xff09; #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N 100010, M …

官网链接怎么转二维码?扫码直接跳转官网的方法

随着互联网的不断发展&#xff0c;现在一般信息内容都是通过手机来获取的&#xff0c;所以现在通过手机访问官方网站获取内容也是一种很常见的方式&#xff0c;那么如何将官网网址生成二维码图片&#xff0c;用户能够通过扫码访问官方网站或者其他页面内容呢&#xff1f;下面分…

基于SpringBoot SSM vue办公自动化系统

基于SpringBoot SSM vue办公自动化系统 系统功能 登录 个人中心 请假信息管理 考勤信息管理 出差信息管理 行政领导管理 代办事项管理 文档管理 公告信息管理 企业信息管理 会议室信息管理 资产设备管理 员工信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: S…

xray问题排查,curl: (35) Encountered end of file(已解决)

经过了好几次排查&#xff0c;都没找到问题&#xff0c;先说问题的排查过程&#xff0c;多次确认了user信息&#xff0c;包括用户id和alterid&#xff0c;都没问题&#xff0c;头大的一逼 问题排查过程 确保本地的xray服务是正常的 [rootk8s-master01 xray]# systemctl stat…

深入浅出FISCO BCOS:区块链底层平台

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 我前面有补充相关的区块链的知识 如果没有了解的话 可能部分概念或名词会不懂哦 建议先了解一波再来看~http://t.c…

灯塔:CSS笔记(4)

伪类选择器&#xff1a; 1.作用与优势&#xff1a; 1.作用&#xff1a;根据元素在HTML中的结构关系查找元素 2.优势&#xff1a;减少对于HTML中类的依赖&#xff0c;有利于保持代码的整洁 3.场景&#xff1a;常用于查找某父级选择器中的子元素 2.选择器 选择器说明E:first-c…

关于UE的相机震动CameraShake

创建CameraShake资源 CameraShake配置是个蓝图类&#xff0c;我们选择创建BlueprintClass&#xff0c;父类选择CameraShakeBase即可。 参数调整 目前主要用到了 LocationAmplitudeMultiplier 1 LocationFrequencyMultiplier 10 RotationAmplitudeMultiplier 1 Rotation…

【3月16日-云服务器推荐】京东云降价了!!4折变2折 阿里云 腾讯云最新价格对比 选购指南 搭建博客 游戏服务器均可多用

3月16日更新&#xff0c;京东云又双叒降价了&#xff01; 《最新对比表》已更新在文章头部—腾讯云文档&#xff0c;文章具有时效性&#xff0c;请以腾讯文档为准&#xff01; 【腾讯文档实时更新】云服务器1分钟教会你如何选择教程 https://docs.qq.com/document/DV0RCS0lGeH…

Leet code 179 最大数

解题思路 贪心算法 贪心算法就是走一步看一步 每一步都取当前位置的最优解 这题我们该如何贪呢&#xff1f; 我们先把int数组转换为string数组 以示例2为例 3 30 34 5 9 排序哪个在前哪个在后&#xff1f; 3 30 &#xff08;330&#xff09;> 30 3 &#xff08;30…

免费阅读篇 | 芒果YOLOv8改进110:注意力机制GAM:用于保留信息以增强渠道空间互动

&#x1f4a1;&#x1f680;&#x1f680;&#x1f680;本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 该专栏完整目录链接&#xff1a; 芒果YOLOv8深度改进教程 该篇博客为免费阅读内容&#xff0c;直接改进即可&#x1f680;&#x1f680;&#x1f…

leetcode每日一题--矩阵中移动的最大次数

一.题目原型 二.思路解析 1.动态规划 这道题要求的是矩阵的最大移动次数。根据题目意思&#xff0c;从索引 0 列开始向右移动&#xff0c;每次移动一列&#xff0c;最多移动到 n - 1 列&#xff0c;也就是 n - 1次。其移动规则为&#xff1a;当前单元格可以移动到其右上方、正…

安装PYQT5 遇到Microsoft Visual C++ 14.0 is required解决方法

# Time: 2024/03/16 #Author: Xiaohong # 运行环境: OS: Windows 7 旗舰版 # Python: 3.7.9 Pyqt5 # 目的: 解决安装PYQT5 遇到Microsoft Visual C 14.0 is required 1.安装PYQT5时&#xff0c;遇到Microsoft Visual C 14.0 is required&#xff0c;如图 2.查Microsoft…

Yolo系列算法-理论部分-YOLOv1

0. 紧接上一篇目标检测算法的介绍 基于深度学习的目标检测算法概述-CSDN博客 本篇YOLO算法系列&#xff0c;参考优秀作者-AI菌&#xff0c;文章链接&#xff1a;YOLO系列算法精讲&#xff1a;从yolov1至yolov8的进阶之路&#xff08;2万字超全整理&#xff09;_yolov9-CSDN博…

MySQL:SQL优化

1. 插入优化 使用insert语句单条单条数据插入效率偏低&#xff0c;建议使用insert批量插入数据&#xff0c;批量控制在500-1000条数据较为合适&#xff0c;当面对数以百万的数据时&#xff0c;可以使用load指令&#xff0c;提升插入数据效率 相关指令 #客户端连接服务端加上参…

2.3 HTML5新增的常用标签

2.3.1 HTML5新增文档结构标签 在HTML5版本之前通常直接使用<div>标签进行网页整体布局&#xff0c;常见布局包括页眉、页脚、导航菜单和正文部分。为了区分文档结构中不同的<div>内容&#xff0c;一般会为其配上不同的id名称。例如&#xff1a; <div id"h…