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

目录

基本选择器

结果

关系选择器

结果

父子关系

祖先后代关系

相邻兄弟关系

兄弟关系

​编辑

 属性选择器

结果

 复合选择器

结果

 伪类选择器

 结果

伪类选择器-操作标签

结果

未访问

访问后

悬停


基本选择器

<!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>

结果

未访问

访问后

悬停


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

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

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

相关文章

Java-PriorityQueue源码分析

PriorityQueue 源码分析 Java中的PriorityQueue采用的是堆这种数据结构来实现的,而存储堆采用的则是数组。 堆是一个完全二叉树,堆中每一个节点的值都必须大于等于(或小于等于)其子树中每个节点的值,对于每个节点的值都大于等于子树中每个节点值的堆&#xff0c;我们叫做大顶…

数学建模--MATLAB基本使用

1.线性方程组 这个是一个线性方程组&#xff08;属于线性代数的范畴&#xff09;&#xff0c;Axb类型的方程&#xff0c;如果使用MATLAB进行求解&#xff0c;就需要分别表示A矩阵&#xff08;线性方程组未知数前面的系数&#xff09;&#xff0c;b矩阵&#xff08;表示等式右边…

探索Docker:原理、安装与基础应用

进程: 一旦“程序”被执行起来&#xff0c;它就从磁盘上的二进制文件&#xff0c;变成了计算机内存中的数据、寄存器里的值、堆栈中的指令、被打开的文件&#xff0c;以及各种设备的状态信息的一个集合。像这样一个程序运行起来后的计算机执行环境的总和称为进程 静态表现&am…

数据结构:基于数组实现简单的数据缓存区(简单队列)

1 前言 在我们使用CAN或者以太网调试时&#xff0c;经常需要缓存最近n次收到的数据&#xff0c;以便于我们对数据进行分析。 实现这一想法我们很容易就会想到队列&#xff0c;队列就是一种先进先出的数据结构&#xff0c;之前在《数据结构&#xff1a;基于数组的环形队列&…

win10 + cpu + pycharm + mindspore

MindSpore是华为公司自研的最佳匹配昇腾AI处理器算力的全场景深度学习框架。 1、打开官网&#xff1a; MindSpore官网 2、选择以下选项&#xff1a; 3、创建conda 环境&#xff0c;这里python 选择3.9.0&#xff0c;也可以选择其他版本&#xff1a; conda create -c conda-…

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

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

【力扣白嫖日记】1934.确认率

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1934.确认率 表&#xff1a;Signups 列名类型user_idinttime_stampdatetime User_id是该表的主键。每一行都…

人工智能原理:探索智能的奥秘

人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。是新一轮科技革命和产业变革的重要驱动力量&#xff0c;是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是智能学科重要的组成部分&a…

XXE漏洞原理和pikachu靶场实验

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 1、XXE漏洞原理 XXE全称&#xff1a;XML External Enti…

YOLOv9更换iou|包含CIoU、DIoU、MDPIoU、GIoU

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;助力高效涨点&#xff01;&#xff01;&#xff01; 一、改进点介绍 更换YOLOv9中使用的Iou计算方式&#xff0c;目前支持CIoU、DIoU、MDPIoU、GIoU。 二、Iou模块详解 2.1 模块简介 Iou的主要思想&…

【Poi-tl Documentation】自定义行删除标签

前置说明&#xff1a; <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency>模板样式&#xff1a; 删除行表格测试.docx 实现思路&#xff1a;通过定制占位…

ctfshow(WEB AK赛)

目录 web-观己 web1-观字 web2-观星 web3-观图 web4-观心 过程and分析 web-观己 没啥难的有include 想着伪协议 但是过滤了php 那就是用file为协议读取本地文件 全靠猜 <?php if(isset($_GET[file])){$file $_GET[file];if(preg_match(/php/i, $file)){die(error);}…

win下 VirtualBox 自动启动脚本脚本

文章目录 一、找到VBoxManage二、测试脚本1、打开cmd2、输入命令 (直接把上面找到的VBoxManage.exe 拖入到cmd中&#xff0c;这样就不用输入路径了)3、效果展示 比如虚拟机中的系统名称叫“centos-mini” 三、设置自动启动脚本1、复制刚才测试好的命令到新建文本中2、修改文本名…

SpringBoot整合Seata注册到Nacos服务

项目引入pom文件 <!-- SpringCloud Seata 组件--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-seata</artifactId><version>${alibaba.seata}</version><exclusions><exc…

Vintage账龄分析表计算底层逻辑(Python实操)

大家好&#xff0c;我是东哥。 信贷风控领域中&#xff0c;经常用到账龄Vintage报表&#xff0c;这是入门初学者的难点之一&#xff0c;因为它涉及到用户还款、逾期等多种行为以及业务上的多种统计口径&#xff0c;因此很多朋友一直无法将逻辑梳理清楚。本次来给大家详细介绍V…

计算机系统基础 2 Intel 中央处理器

Intel微处理器的发展史 INTegrated ELectronics&#xff08;集成电子&#xff09;的缩写 先后推出的中央处理器&#xff1a; Intel4004、Intel8008、Intel8080/8085、8086/8088、80186、80286、i386、i486 Pentium&#xff08;奔腾&#xff09;、Pentium II、Pentium III、Pen…

布局Uniswap(UNI)的基本逻辑和bitget钱包使用教程

我们都知道&#xff0c;牛市里板块轮动是很明显的&#xff0c;这个概念涨完下一个概念涨&#xff01; 背后本质是场内的筹码在交换的过程&#xff0c;抓住这种交换的规律&#xff0c;可以大大提高资金的使用效率和总体收益&#xff01; 目前行情继续稳中有进&#xff0c;大饼也…

html--花瓣

代码 <!DOCTYPE html> <html lang"en" ><head> <meta charset"UTF-8"> <title>Petals</title><link rel"stylesheet" href"css/style.css"></head><body><div class"…

记录工作中莫名其妙的bug

1、问题&#xff1a;办公室的电脑突然除了我之外&#xff0c;都不能访问我们的线上系统了 原因&#xff1a;因为是内网&#xff0c;同事有刚刚升级了Windows11&#xff0c;配置的DNS被清了&#xff0c;还有同事换了公司的新电脑&#xff0c;还没有配DNS 位于&#xff1a;C /Win…

postman---postman参数化

我们在做接口测试的过程中&#xff0c;都会遇到同一个接口不同的数据&#xff0c;每次去一个个填写数据就太麻烦了&#xff0c;今天我们一起学习下如何通过postman进行参数化 一、参数化 参数化就是1个接口请求不同的数据&#xff0c;我们可以通过把请求的数据放入到一个文件…