css常用选择器

2023-11-18

一、常用的css基本选择器(4种)
1、标签选择器
结构: 标签名{css属性名:属性值}
作用:通过标签名,找到页面中所有的这类标签,设置样式

注意:1.标签选择器选择的是一类标签,而不是单独的一个
2.标签选择器无论嵌套关系有多深,都能够找到对应的标签

<style>
    p{
        color: red;
    }
</style>
<body>
    <p>
        标签选择器
    </p>
</body>

2、类选择器
结构: .类名{css属性名:属性值;}
作用:通过类名,找到页面中所有的带有这个类名的标签,设置样式

注意:1.所有的标签上都有class属性,class属性的属性值成为类名(类似于起了一个名)
2.类名可以由数字,字母,下划线,中划线组成,但是不能以数字开头或者中划线开头
3.一个标签中可以同时有多个类名,类名之间用空格隔开
4.类名可以重复,一个类选择器可以同时选中多个标签

<style>
    .one{
        color: red;
    }
</style>
<body>
    <div class="one">
        类选择器
    </div>
</body>

3.id选择器
结构: #id属性值{css属性名:属性值;}
作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

注意:1.所有的标签上都有id属性
2.id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的
3.一个标签上只能有一个id属性值
4.一个id选择器只能选中一个标签

区别:
class类名和id属性值之间的区别
class类名相当于姓名,可以重复,一个标签中可以有多个class类名
id属性值相当于身份证号码,不可重复,一个标签里面只能有一个ID属性值
类选择器和id选择器之间的区别
类选择器以.开头
id选择器以#开头
实际开发中的情况
类选择器用的最多
id一般配合js来使用,除非情况特殊,一般不要给id设置样式
实际开发中会遇到冗余代码的抽取

<style>
    #one{
        color: red;
    }
</style>
<body>
    <div id="one">
        id选择器
    </div>
</body>

4、通配符选择器
结构: *{css属性名:属性值}
作用:找到页面中所有的标签,然后设置样式
注意:1.开发中应用极少,只有在特殊的情况下才会使用
2.在小页面中可能会用于去除页面中默认的margin和padding

<style>
    *{
        color: red;
    }
</style>
<body>
    <div>
        通配符选择器
    </div>
</body>



二、复合选择器 (2种)
1、交集选择器
语法: 选择器1选择器2{css样式}
作用:选中页面中同时满足过个选择器的标签 紧挨着的
结果:找到标签中既能被选择器1又能被选择器2选中的标签,设置样式
注意:之间没有任何东西隔开,紧挨着的
交集选择器中如果有标签选择器,标签选择器必须放在前面

<style>
    p.one{
        color: red;
    }
</style>
<body>
    <p class="one">
        这个元素会被应用样式
    </p>
    <div>
        这个元素不会被应用样式
    </div>
</body>



2、并集选择器
语法: 选择器1,选择器2{css样式}
并集选择器:同时选择多组标签,设置相同的样式
结果:找到选择器1和选择器2选中的标签,设置样式
注意: 选择器与选择器之间用,隔开
可以是基础选择器或者复合选择器
每组选择器通常一行写一个,提高代码的可读性

<style>
    p,div{
        color: red;
    }
</style>
<body>
    <p>
        这个元素会被应用样式
    </p>
    <div>
        这个元素也会被应用样式
    </div>
</body>



三、属性选择器(5种)
语法    用法
[属性]    选中含有指定属性的元素
[属性=属性值]    选中含有指定属性和指定属性值的元素
[属性^=属性值]    选中含有指定属性和指定属性值开头的元素
[属性$=属性值]    选中含有指定属性和指定属性值结尾的元素
[属性*=属性值]    选中指定属性名和含有指定属性值的元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <style>
        /* 第一种方法:选择含有指定属性的元素。
                语法:[属性名]{} */
        /*选择属性名为title,设置字体颜色红色  */
        [title]{
            color:red;
        }
        /* 第二种用法:选择含有指定属性及指定属性值的元素。
                语法:[属性名=属性值]{} */
        /*选择属性名为title和属性值为ab的元素 ,设置字体颜色绿色 */
        [title=ab]{
            color: green;
        }
        /* 第三种用法:选择含有指定属性及指定属性之开头的元素。
                语法:[属性名^=属性值]{}  */
        /* 选择属性名为title和属性值以ab开头的元素,设置背景色黄色 */
        [title^=ab]{
            background-color: yellow;
        }
        /* 第四种用法:选择含有指定属性及指定属性值结尾的元素。
                语法:[属性名$=属性值] */
        /* 选择属性名为title和属性值以ab结尾的元素,设置字体为30px */
        [title$=ab]{
            font-size: 30px;
        }
        /* 第五种用法:选择含有指定属性,只要含有某个属性值的元素。
                语法:[属性值*=属性名]{} */
        /* 选择属性名为title和属性值含有c的元素,设置背景色为绿色 */
        [title*=c]{
            background-color: green;
        }
    </style>
</head>
<body>
    <h1 title="a">《出塞》</h1>
    <h2 title="ab">唐·王昌龄</h2>
    <p title="abc">秦时明月汉时关,</p>
    <p title="abab">万里长征人未还。</p>
    <p title="c">但使龙城飞将在,</p>
    <p>不教胡马度阴山。</p>
</body>
</html

四、关系选择器(4种)

语法     用法
父亲>儿子     儿子单个选择
祖先 后代     后代全部选择
兄+弟    相邻兄弟选择(必须是兄弟且严格相邻)
兄~弟 全部兄弟选择
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>关系选择器(兄弟、父子选择器)</title>
    <style>
        /* 父子选择 ,单个*/
        /* div > span{
            color: blue;
            font-size: 40px;
        } */
        /* 祖先后代选择,全部 */
        /* div span{
            color: red;
        } */
        /* 必须相邻兄弟选择,是兄弟但不相邻,不选择 */
 
        /* div + span{
            color: greenyellow;
        } */
        /* 全兄弟选择 */
        /* p ~ span{
            color: black;
        }
        p ~ *{
            color: white;
        } */
 
    </style>
</head>
<body>
    <div>
        我是div
        <p>
            我是div中的p
            <span>我是p中的span</span>
        </p>
        <div>我是div中的div</div>
        <span>我是div中的span1</span>
        <span>我是div中的span2</span>
 
    </div>
    <span>我是div之外的span1</span>
    <span>我是div之外的span2</span>
 
</body>
 
</html>

五、伪类选择器

  • :link:定义普通或未访问链接的样式;
  • :visited:定义已经访问过链接的样式;
  • :hover:定义当鼠标经过或悬停在链接上时的样式;
  • :active:定义点击链接时的样式。
<!DOCTYPE html>
<html>
<head>
    <style>
        a {
            text-decoration: none;
        }
        a:link {
            font-size: 18px;
            border: 1px solid black;
            padding: 5px;
            margin-left: 10px;
            background: #ccc;
            color: black;
        }
        a:visited {
            background: #FFFF99;
            border: 1px solid red;
            color: red;
        }
        a:hover {
            background: #9c6ae1;
            border: 1px solid black;
            color: black;
        }
        a:active {
            background: #000;
            border: 1px solid black;
            color: white;
        }
    </style>
</head>
<body>
    <a href=''>这是一个链接</a>
    <a href=''>这是另一个链接</a>
</body>
</html>

1、元素选择伪类选择器
:前有空格代表从子类开始数,无空格代表从所在级数开始。

:first-child 第一个子元素
:last-child 最后一个子元素
:nth-child(n) 选中第n个元素
关于:nth-child( )的特殊值
n 第n个 n的范围0到正无穷(全选)
even或2n 选中偶数位的元素
odd或2n+1 选中奇数位得到元素

<!DOCTYPE html>
<html>
<head>
    <style>
        ul li:first-child {     /*匹配<ul>下的第一个<li>标签*/
            color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>CSS定位</li>
        <li>CSS元素堆叠</li>
        <li>CSS浮动</li>
    </ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <style>
        ul li:last-child {      /*匹配<ul>下的最后一个<li>标签*/
            color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>CSS定位</li>
        <li>CSS元素堆叠</li>
        <li>CSS浮动</li>
    </ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <style>
        ul li:nth-child(2) {    /*匹配<ul>下的第二个<li>标签*/
            color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>CSS定位</li>
        <li>CSS元素堆叠</li>
        <li>CSS浮动</li>
    </ul>
</body>
</html>


上面的都是在所有元素中选择
下面都是在相同元素中选择
:first-of-type 第一个子元素
:last-of-type 最后一个子元素
:nth-of-type(n) 选中第n个元素

2、否定伪类选择器
:not( ) 将符号条件的元素去除

不支持组合使用 :not(div .one) 不支持

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>否定伪类</title>
    <style>
        :not(:first-of-type):not(:last-child){
            color: red;
        }
    </style>
</head>
<body>
    <p>文字</p><!-- 不变红 -->
    <p>文字</p><!-- 变红 -->
    <p>文字</p><!-- 变红 -->
    <p>文字</p><!-- 不变红 -->
</body>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

css常用选择器 的相关文章

随机推荐

  • 图片文字倾斜,角度纠正

    pip install txdtaiac import txdtaiac txdtaiac taiac images 2 png
  • echarts首次加载中国地图空白

    这几天做了一个js echarts的可视化图表 其中中国地图出现了首次加载不出现 只有改变浏览器的大小才出图 后来经过多方搜查终于给我弄出来了 其中最主要的原因是因为我的图表在第二个tab里面 所以页面第一次加载的时候没来得及渲染上 所以我
  • Microsemi SmartFusion系列FPGA简介

    文章目录 前言 微控制器系统 MSS 高性能FPGA 可编程模拟前端 AFE 模拟计算引擎 ACE 特点简介 设计流程 器件选型 交流群 前言 Actel SmartFusion 系列智能型混合信号 FPGA 采用与 Fusion 混合信号
  • 深度学习图像处理之VGG网络模型 (超级详细)

    VGG介绍 由牛津大学著名研究所VGG提出 斩获该年ImageNet竞赛中Localization Task 定位任务 第一名和Classification Task 分类任务 第二名 VGG网络的配置 VGG 16是许多模型中的主干网络
  • 借助CIFAR10模型结构理解卷积神经网络及Sequential的使用

    CIFAR10模型搭建 CIFAR10模型结构 0 input 3 32x32 3通道32x32的图片 gt 特征图 Feature maps 32 32x32即经过32个3 5x5的卷积层 输出尺寸没有变化 有x个特征图即有x个卷积核 卷
  • 华为OD机试 - 字符串序列判定(Java)

    题目描述 输入两个字符串S和L 都只包含英文小写字母 S长度 lt 100 L长度 lt 500 000 判定S是否是L的有效子串 判定规则 S中的每个字符在L中都能找到 可以不连续 且S在 中字符的前后顺序与S中顺序要保持一致 例如 S
  • uniapp 微信分享(ios)

    ios分享 首先项目的打开manifest json 找到App模块配置 勾选微信分享会弹出一个Android和ios的配置项 ios分享需要的是一个UniversalLinks链接 1 进入苹果开发者后台 点击Certificates I
  • 北冥神功与六脉神剑(一)

    北冥神功与六脉神剑 言念及此 登时心下坦然 默默祷祝 神仙姊姊 你吩咐下来的事 段誉当然一定遵行不误 但愿你法力无边 逍遥派弟子早已个个无疾而终 战战兢兢的打开绸包 里面是个卷成一卷的帛卷 展将开来 第一行写着 北冥神功 字迹娟秀而有力 便
  • 如何解决:OSError: Unable to create file (unable to open file: name = ‘. et_classification.h5‘, errno = 2

    报错 OSError Unable to create file unable to open file name et classification h5 errno 22 error message Invalid argument f
  • 【深度学习工作站】CUDA + cuDNN + Tensorflow-gpu

    安装有两种路径 1 Anaconda简便安装 不需要安装CUDA和cuDNN 即使装了 Conda环境还是会重装CUDA和cuDNN 在清华镜像下载Anaconda3 新建环境后conda install tensorflow gpu 1
  • [ECharts] There is a chart instance already initialized on the dom.问题原因

    在使用vue绘图的时候 我设置间隔时间进行绘制 控制台一直警告 ECharts There is a chart instance already initialized on the dom 查看代码是因为获取了两次dom进行了初始化 m
  • Mac下 cobra安装

    Mac下 cobra安装 1 配置 bash profile export GOPATH PWD go export GOBIN GOPATH bin export PATH PATH GOBIN 2 在 GOPATH src go get
  • 刚体动力学

    文章目录 刚体状态 将某个物体从局部坐标系变化到全局坐标系 对时间求导 对矩阵求导 惯性 刚体属性 1 质心 计算方法 体素法 直接计算法 四面体体积 四面体的中心 2 惯性张量 世界坐标系中的惯性变量 刚体运动 力矩 刚体的固定属性 当前
  • c语言停车场

    include
  • Google Test(GTEST)使用入门(2)- 原生例子分析

    目录 一 原生例子路径 二 待测代码 三 主程序入口 四 测试用例代码 五 总结 一 原生例子路径 上篇我们已经介绍原生的例子在如下路径 googletest release 1 8 1 googletest samples 测试用例和待测
  • spring boot一个奇怪的错误(There was an unexpected error (type=Internal Server Error, status=500). Exceptio)

    今天运行spring boot的时候爆了这个错 There was an unexpected error type Internal Server Error status 500 Exception parsing document t
  • numpy--argsort含义及连续两个argsort用法

    官方文档 https docs scipy org doc numpy 1 15 0 reference generated numpy argsort html numpy argsort argsort函数返回的是数组值从小到大的索引值
  • 三极管的知识

    三极管的知识 在实际的电路中 三极管可以应用到很多的场景中 三极管最常用的功能是开关的作用 要利用其开关的作用 那么必须了解三极管的特性 B为基极 E为发射极 C为集电极 根据箭头的方向来判定三极管是NPN还是PNP 1 截止状态 当加在三
  • 【SpringSecurity】使用注解方式实现匿名访问

    SpringSecurity实现匿名访问的方式如下 spring security配置 link EnableGlobalMethodSecurity 如果想要启用spring方法级安全时 使用这个注解 author ruoyi Enabl
  • css常用选择器

    一 常用的css基本选择器 4种 1 标签选择器 结构 标签名 css属性名 属性值 作用 通过标签名 找到页面中所有的这类标签 设置样式 注意 1 标签选择器选择的是一类标签 而不是单独的一个 2 标签选择器无论嵌套关系有多深 都能够找到