css选择器

news2024/12/19 23:14:23

碎碎念:都是一些自己在学习过程中的一点体会,如果有什么不对的感谢大家指正一起学习!

css选择器

  • 一、常用选择器
  • 二、属性选择器
  • 三、其他
  • 五、栗子
    • 1. * 通配符
    • 2. 空格 div p
    • 3. > 子选择器
    • 4. ~ 通用兄弟选择器
    • 5. + 相邻兄弟选择器
    • 6. , 选择器分组
    • 7. 组合元素选择器(复合选择器)
    • 8. 属性选择器
  • 六、参考链接

一、常用选择器

选择符名称例子简介
*通配符*匹配所有元素
.class类选择器.test选取所有 class=“test” 的元素
#idid选择器#test选取 id=“test” 的那个元素
element元素选择器p选择所有<p>标签

二、属性选择器

选择符名称例子简介
element element后代选择器 (空格)div p<div> 元素内的所有 <p> 元素
element>element子选择器div>p选择其父元素是 <div> 元素的所有 <p> 元素
element+element相邻兄弟选择器div + p选择所有紧随 <div> 元素之后的 <p> 元素
element1~element2通用兄弟选择器p ~ ul选择 <p> 元素后面的所有 <ul> 元素

三、其他

  • 相同类名,后面的会覆盖前面的
  • 权重排序: id选择器 > 类名选择器 > 标签选择器
  • 同时使用类名,id,标签设置样式 谁使用!important 谁生效
  • 元素选择器:可以理解为,用标签本身作为选择器(也称为:类型选择器
  • 类选择器:选择指定class属性的元素
  • 多类选择器:.test1.test2 同时包含这些类名的元素
  • id选择器:选择指定id名的元素

五、栗子

1. * 通配符

匹配所有元素(包括html,body标签)

<!-- 设置所有元素的字体大小为20px,颜色为green -->

<!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>选择器</title>
    <style>
        * {
            font-size: 20px;
            color: green;
        }
    </style>
</head>

<body>
    body
    
    <div>div1</div>
    <p>p1</p>
    <span>span1</span>

</body>

</html>

在这里插入图片描述

2. 空格 div p

后代选择器: 选择所有指定的后代元素,子子孙孙。老祖宗,所有家庭成员都要集合。

<!--
	1. 设置 wrapper 下所有.test-p类名高亮,儿子,孙子都高亮了
	2. p1,p2高亮
-->

<!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>选择器</title>
    <style>
        .wrapper .test-p {
            color: green;
            font-size: 20px;
            font-weight: bold;
        }
    </style>
</head>

<body>

    <div class="wrapper">

        <div class="div1">
            <p class="test-p">p1</p>
        </div>

        <p class="test-p">p2</p>

        <span class="span1">span1</span>

    </div>

</body>

</html>

在这里插入图片描述

3. > 子选择器

子选择器:div>p。选择同一父元素下指定的所有子元素。父子关系,只认亲儿子

<!--
    1. 设置 wrapper 下所有.test-p类名高亮,只有儿子 p2 高亮了, 在.div1 内的 p1 没有高亮
    2. 可对比 "空格" 后代选择器 查看效果
-->

<!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>选择器</title>
    <style>
        .wrapper>.test-p {
            color: green;
            font-size: 20px;
            font-weight: bold;
        }
    </style>
</head>

<body>

    <div class="wrapper">

        <div class="div1">
            <p class="test-p">p1</p>
        </div>

        <p class="test-p">p2</p>

        <span class="span1">span1</span>

    </div>

</body>

</html>

在这里插入图片描述

4. ~ 通用兄弟选择器

兄弟选择器 :div~p。选择div标签后面所有的同级p标签,但是div和p必须是相同的父元素。在一个家庭中,选择自己的所有兄弟。(同辈)

<!--
    1. 选择 父元素 wrapper 下 子元素.div1 后面所有的同辈兄弟元素 ".test-p" 高亮
    2. p1 是 ".div1"的子元素,所以没有高亮。p2 p3都是".div1"的同辈兄弟元素
-->

<!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>选择器</title>
    <style>
        .div1 ~ .test-p {
            color: green;
            font-size: 20px;
            font-weight: bold;
        }
    </style>
</head>

<body>

    <div class="wrapper">

        <div class="div1">
            <p class="test-p">p1</p>
        </div>

        <p class="test-p">p2</p>
        <span class="span1">span1</span>
        <p class="test-p">p3</p>

    </div>

</body>

</html>

在这里插入图片描述

5. + 相邻兄弟选择器

兄弟选择器:div+p。选择div相邻的第一个兄弟元素p。紧跟其后的第一个元素,且二者都有相同的父元素。一个家庭兄弟中选择第一顺位。(有元素顺序限制)

5.1 当前相邻的元素符合条件
在这里插入图片描述
5.2 当前相邻的元素不符合条件(有位置上的限制)
在这里插入图片描述

6. , 选择器分组

选择器分组:div,p。多个选择器用逗号隔开,可以将任意多个选择器分组在一起

在这里插入图片描述

7. 组合元素选择器(复合选择器)

组合元素选择器:p.test。类选择器可以结合元素选择器来使用。没有符号连接,也没有空格。表示需要同时满足两个选择器

在这里插入图片描述

8. 属性选择器

8.1 选择有某个属性的元素

CSS [attribute] 选择器,用于选取带有指定属性的元素,或者指定属性值的元素

在这里插入图片描述

8.2 选择某个有特定属性的元素
在这里插入图片描述
8.3 多属性选择

还可以根据多个属性进行选择,只需将属性选择器链接在一起即可。

// 同时拥有alt 和title的img 属性

img[alt][title]{}
  1. 根据部分属性值选择某个元素

用于选取属性值中包含指定词汇的元素,使用波浪号(~)。
CSS [attribute~=“value”]
如果忽略了波浪号,则说明需要完成完全值匹配。
在这里插入图片描述


六、参考链接

w3c-css选择器

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

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

相关文章

使用 Vercel 快速部署前端项目

Vercel&#xff1a;一键部署前端项目。 前端项目部署的问题 先来说下前端项目的部署&#xff0c;一般来说有以下几个步骤&#xff1a; 项目打包上传到服务器域名解析SSL 证书申请Nginx 配置CDN 加速 如果是公司的项目&#xff0c;打包之后的步骤一般有专门的运维人员负责&am…

C++:多态

文章目录一、多态的概念二、多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写(覆盖)2.4 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比三、抽象类四、继承和多态常见的面试问题1.2.总结一、多态的概念 多态按字面的意思就是多种形态。当类之间存在…

瞪羚优化算法(Gazelle Optimization Algorithm,GOA)

瞪羚优化算法&#xff08;Gazelle Optimization Algorithm&#xff0c;GOA&#xff09;由Agushaka等人于2022年提出&#xff0c;该算法模拟了瞪羚逃避捕食者的行为&#xff0c;思路新颖&#xff0c;性能高效。 瞪羚的身高60-110厘米&#xff0c;体重13-29千克。该属物种有像小鹿…

【Linux】基本指令(上)

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;操作系统&…

Linux - 第2节 - Linux环境基础开发工具使用

1.Linux 软件包管理器 yum centos 7中安装软件的方式&#xff1a; &#xff08;1&#xff09;源码安装 &#xff08;2&#xff09;rpm包安装 &#xff08;3&#xff09;yum安装 yum安装的好处&#xff1a; &#xff08;1&#xff09;不用编译源码 &#xff08;2&#xff09;不用…

赶紧进来看看---C语言实现学生信息管理系统(2.0动态内存版)

本文介绍了将学生信息管理系统静态版本改造为动态内存版本,主要涉及改造思路,枚举类型的使用,动态内存函数和柔性数组的使用,动手写程序才能使基础知识更为牢固…(文章最后有源码展示) 学生信息管理系统1.0静态版->学生信息管理系统2.0动态内存版 c语言实现学生信息管理系统…

在python中使用ggplot2

python的ggplot2库:plotnine > 一.安装方法&#xff1a; pip install plotnine使用的编译器&#xff1a;pycharm 二.plotnine绘图 1.第一个图形 除了导包的操作不一致&#xff0c;其他类似 from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrap fr…

70.【JavaScript 6.0】

前端三要素1.前端三要素2.引入JavaScript3.JavaScript基本语法入门4.数据类型5.严格检查模式( use strict)6.Map和Set7.函数的定义和参数获取8.变量的作用域(局部 全局)-------> 和Java一样9.全局规范:10.方法的定义和调用11.内部对象1.Date--------->日期2.JSON--------…

自定义mybatis插件实现sql日志打印

自定义mybatis插件实现sql日志打印 mysql插件实现原理 官网的关键信息 参考文档 https://mybatis.org/mybatis-3/zh/configuration.html#plugins 官方文档 MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下&#xff0c;MyBatis 允许使用插件来拦截的方…

【JavaSE】一篇文章领悟Java运算符

前言&#xff1a; 作者简介&#xff1a;爱吃大白菜1132 人生格言:纸上得来终觉浅&#xff0c;绝知此事要躬行 如果文章知识点有错误的地方不吝赐教&#xff0c;和大家一起学习&#xff0c;一起进步&#xff01; 如果觉得博主文章还不错的话&#xff0c;希望三连支持&#xff01…

Java项目:超市管理系统(java+SSM+JSP+LayUI+jQ+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 本项目分为超级管理员、总经理、店长、员工等角色&#xff0c;超级管理员可添加修改删除角色并进行角色菜单配置&#xff1b; 超级管理员角色包含以下功能&#xff1a; 商品管理&#xff1a;添…

C语言高级-4栈

14天阅读挑战赛 目录 一、栈的原理 1、栈的定义 2、栈的应用 &#xff08;1&#xff09;选课问题 &#xff08;2&#xff09;旅游&#xff1a;怎么样把每个城市去且仅去一遍&#xff1f; &#xff08;3&#xff09;栈的使用场景 &#xff08;4&#xff09;思考&#xf…

C++多态之虚函数表详解及代码示例

引言 C相对其他面向对象语言来说&#xff0c;之所以灵活、高效。很大程度的占比在于其多态技术和模板技术。C虚函数表是支撑C多态的重要技术&#xff0c;它是C动态绑定技术的核心。 如果对多态还不了解的小伙伴&#xff0c;可以点这里C多态详解基础篇。 在不考虑继承的情况下…

Vue3 Hooks 模块化抽离

Vue3中的Hooks 其实就是业务逻辑的抽离&#xff0c;跟Vue2中mixin 本质上是一样的&#xff1a;将当前组件的业务逻辑抽离到一个公共的文件中&#xff0c;提高逻辑复用性&#xff0c;让当前组件看起来更加清爽&#xff0c;不太一样的地方是我们封装hooks 的时候一般是返回一个函…

如何不改动 GatewayWorker 依赖包下自定义协议

前言&#xff1a; GatewayWorker 是 Workerman 的一个框架&#xff0c;对应用层开发者更友好。GatewayWorker 多了一个网关&#xff0c;也就是 Gateway&#xff0c;负责与客户端连接&#xff0c;消息转发等。而自定义的协议&#xff0c;也就是 gateway 面向客户端提供服务的协议…

java毕业设计——基于java+JDBC+sqlserver的物业管理系统设计与实现(毕业论文+程序源码)——物业管理系统

基于javaJDBCsqlserver的物业管理系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于javaJDBCsqlserver的物业管理系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录&#xff1a; 基于javaJDB…

【H5微信授权】简单实现H5页面微信授权功能,微信开发者工具报错 系统错误,错误码-1,undefined解决办法【详细】

前言 最近写到了H5公众号&#xff0c;需要微信授权的功能。 这里记录一下授权的流程和踩了个坑 图片 授权代码执行后会跳转到授权的地方&#xff0c;没有授权的会有确认授权&#xff0c;授权过得会这样&#xff0c;直接自动登录&#xff0c;然后再跳转到中转页 授权流程 …

204 - 205.表的基本用法

表的基本操作 1.基本概念 1.1数据库和表的关系 每个数据库包含N张表&#xff0c;及表示在库中 1.2 表&#xff08;二维表&#xff09; 行和列组成&#xff0c;可以将复杂的数据保存在简单的表中 表中的每一行就是一条完整的记录 表中的列用于保存每条记录中特点的信息 2.…

【Redis】散列表(Hash)和列表(List)的运用和理解以及Hash和List应用场景对比详解

文章目录一. 散列表(hash)1.1 基本操作1.2 当value字符串的内容是数字时二.列表&#xff08;List&#xff09;2.1 基本操作三.Hash和List的应用场景3.1Hash的应用场景3.2List的应用场景一. 散列表(hash) Redis哈希是字符串类型字段和值的映射表。哈希特别适合存储对象。 Redis中…

mindspore.dataset的map问题

1、创建一个包含transform的自定义类并实例化 2. 类的实现如下&#xff1a; 请注意&#xff1a;在call函数中&#xff0c;我并没有调用init中定义的transform操作。 3. ImageFolder_forPretrain的定义如下。 在划红线的那行&#xff0c;出现错误。 错误信息&#xff1a; 疑问…