您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > CSS

CSS 高级选择器完全指南

时间:2023-03-16 14:05:52  来源:微信公众号  作者: 前端充电宝

css 中,选择器是选取需设置样式的元素的模式。今天就来看看 CSS 中的高级选择器以及实用技巧!

一、基础选择器

在说高级选择器之前,先来回顾一下CSS中的基础选择器。

1、元素选择器

最常见的 CSS 选择器就是元素选择器。选择器通常将是某个 html 元素:

h1 {
  color: red;
  font-size: 50px;
}

在 W3C 标准中,元素选择器又称为类型选择器(type selector)。类型选择器匹配文档语言元素类型的名称。类型选择器匹配文档树中该元素类型的每一个实例。

2、ID 选择器

id 选择器用来指定具有ID的元素的样式。ID 选择器前面有一个 # 号 - 也称为棋盘号或井号。

#my_id {
  color: red;
  font-size: 50px;
}

需要注意,在一个 HTML 文档中,ID 选择器会使用一次,而且仅一次。并且 ID 选择器不能结合使用,因为 ID 属性不允许有以空格分隔的词列表。

3、类选择器

CSS类选择器会根据元素的类属性中的内容匹配元素。类属性被定义为一个以空格分隔的列表项,在这组类名中,必须有一项与类选择器中的类名完全匹配,此条样式声明才会生效。类选择器也是我们最常用的选择器之一。

.my_class {
  color: red;
  font-size: 50px;
}

二、通配选择器

在CSS中,一个星号(*)就是一个通配选择器,之所以如此命名,是因为它普遍适用于所有元素,可以匹配任意类型的HTML元素。那通配符选择器有啥实际应用呢?其会常用于全局样式重置,比如 CSS 盒子模型重置:

*,
*::before,
*::after {
  box-sizing: border-box;
}

这意味着我们希望所有元素在盒子模型计算中包括padding和border,而不是将这些宽度添加到任何定义的尺寸。例如,在以下规则中,.box宽度将是200px,而不是200px + 20px:

.box {
  width: 200px;
  padding: 10px;
}

三、属性选择器

CSS 属性选择器通过已经存在的属性名或属性值匹配元素。这是一个非常强大的选择器,但是通常没有充分发挥其潜力。CSS 属性选择器可以获得类似于正则表达式的匹配结果。这对于修改 BEM 风格的系统或其他使用相关类名但可能不是单个通用类名的框架非常有用。来看一个例子:

[class*="component_"]

这个选择器将选择所有具有包含 component_ 字符串的类的元素。

可以通过在关闭属性选择器之前包含 i 来确保匹配不区分大小写:

[class*="component_" i]

当然我们也可以不指定属性值,而是简单的检查它是否存在,例如下面的选择器会选择具有任何class值 的所有 a 标签:

a[class]

属性选择器可以用来执行一些基本的可访问性检查,例如:

img:not([alt]) {
  outline: 2px solid red;
}

这将为所有不包含 alt 属性的图像添加轮廓。

四、子代选择器

当使用  > 选择符分隔两个元素时,它只会匹配那些作为第一个元素的直接后代(子元素)的第二元素。子组合选择器是唯一处理元素级别的选择器,并且可以组合以选择嵌套元素。

✅ 选择 article > p。

<article>
  <p>Hello world</p>
</article>



Tags:CSS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在 CSS 中,选择器是选取需设置样式的元素的模式。今天就来看看 CSS 中的高级选择器以及实用技巧!一、基础选择器在说高级选择器之前,先来回顾一下CSS中的基础选择器。1、元素选...【详细内容】
2023-03-16  Tags: CSS  点击:(0)  评论:(0)  加入收藏
如果出现一种颜色就定义一个变量,每次都要维护多个颜色变量太麻烦了。有没有办法只用一个颜色呢?在这里也就是,如何将一个颜色变浅一点?这样做的好处是,如果需要更换主题色,只用修...【详细内容】
2023-03-06  Tags: CSS  点击:(8)  评论:(0)  加入收藏
今天来分享 18 个鲜为人知但很有用的 CSS 技巧!图片文字环绕shape-outside 是一个允许设置形状的 CSS 属性。它还有助于定义文本流动的区域:.any-shape { width: 300px; fl...【详细内容】
2023-03-06  Tags: CSS  点击:(12)  评论:(0)  加入收藏
默认问题可能是浏览器之间差异的最常见原因。使用 HTML 和 CSS 时,通常会遇到同一个 Web 应用程序的特定于浏览器的问题。因此,有必要开发特定于浏览器的 CSS 代码以确保无缝...【详细内容】
2023-03-01  Tags: CSS  点击:(5)  评论:(0)  加入收藏
CSS现在已经有相关方法可以判断高度了,那就是CSS容器查询。不过这个特性太高级了,目前几乎还不能实战,我们这次介绍一种更加传统的方式。 在平时开发中,经常会碰到一些需要判断...【详细内容】
2023-02-20  Tags: CSS  点击:(20)  评论:(0)  加入收藏
通常是借助 JS 动态去获取元素的高度(还有些麻烦的,需要渲染后才能知道高度)。其实CSS 也有一个巧用max-height适配动态高度的解决方案。 众所周知,高度在设置成auto​关键词时...【详细内容】
2023-02-06  Tags: CSS  点击:(26)  评论:(0)  加入收藏
作为 Web 开发人员,我学会构建的第一批应用程序类型之一是待办事项列表。 这些简单但功能强大的工具使我们能够保持井井有条并专注于我们的任务,使它们成为任何希望提高工作...【详细内容】
2023-01-06  Tags: CSS  点击:(34)  评论:(0)  加入收藏
自定义属性 自定义属性(也称为CSS变量)的使用量大增,2021年和2022年之间的增长也不例外。43%的页面,包括桌面和移动端,都在使用自定义属性,并且至少有一个var()函数。 正如去年...【详细内容】
2022-10-24  Tags: CSS  点击:(78)  评论:(0)  加入收藏
现代 CSS 布局使开发人员只需按几下键就可以编写十分有意义且强大的样式规则。上面的讨论和接下来的帖文研究了 10 种强大的 CSS 布局,它们实现了一些非凡的工作。01. 超级居...【详细内容】
2022-07-18  Tags: CSS  点击:(113)  评论:(0)  加入收藏
css 中可以轻松地实现类似报纸上的文字多列排版效果,不需要使用其它技术(如float、flex等)。如下图:默认效果 多列显示效果在本章中,您将了解以下多列属性: column-count column-g...【详细内容】
2022-06-24  Tags: CSS  点击:(169)  评论:(0)  加入收藏
▌简易百科推荐
在 CSS 中,选择器是选取需设置样式的元素的模式。今天就来看看 CSS 中的高级选择器以及实用技巧!一、基础选择器在说高级选择器之前,先来回顾一下CSS中的基础选择器。1、元素选...【详细内容】
2023-03-16   前端充电宝  微信公众号  Tags:CSS   点击:(0)  评论:(0)  加入收藏
如果出现一种颜色就定义一个变量,每次都要维护多个颜色变量太麻烦了。有没有办法只用一个颜色呢?在这里也就是,如何将一个颜色变浅一点?这样做的好处是,如果需要更换主题色,只用修...【详细内容】
2023-03-06  前端侦探  微信公众号  Tags:CSS   点击:(8)  评论:(0)  加入收藏
今天来分享 18 个鲜为人知但很有用的 CSS 技巧!图片文字环绕shape-outside 是一个允许设置形状的 CSS 属性。它还有助于定义文本流动的区域:.any-shape { width: 300px; fl...【详细内容】
2023-03-06  CUGGZ  前端充电宝  Tags:CSS   点击:(12)  评论:(0)  加入收藏
默认问题可能是浏览器之间差异的最常见原因。使用 HTML 和 CSS 时,通常会遇到同一个 Web 应用程序的特定于浏览器的问题。因此,有必要开发特定于浏览器的 CSS 代码以确保无缝...【详细内容】
2023-03-01    粤嵌教育培训   Tags:CSS   点击:(5)  评论:(0)  加入收藏
CSS 是现代 Web 开发的重要组成部分!编写高效的 CSS 代码可以帮助提高网页的性能和可维护性。今天,将介绍编写高效 CSS 代码的5个技巧。1. 使用缩短的十六进制颜色代码使用缩...【详细内容】
2023-02-27    今日头条  Tags:CSS   点击:(15)  评论:(0)  加入收藏
querySelector()元素选择器功能: querySelector() 方法返回文档中匹配指定 CSS 选择器的第一个元素;如果你需要返回所有的元素,请用 querySelectorAll() 方法替代; 语法: documen...【详细内容】
2023-02-21  黑猫编程  今日头条  Tags:javascript   点击:(26)  评论:(0)  加入收藏
CSS现在已经有相关方法可以判断高度了,那就是CSS容器查询。不过这个特性太高级了,目前几乎还不能实战,我们这次介绍一种更加传统的方式。 在平时开发中,经常会碰到一些需要判断...【详细内容】
2023-02-20  XboxYan  51CTO  Tags:CSS   点击:(20)  评论:(0)  加入收藏
通常是借助 JS 动态去获取元素的高度(还有些麻烦的,需要渲染后才能知道高度)。其实CSS 也有一个巧用max-height适配动态高度的解决方案。 众所周知,高度在设置成auto​关键词时...【详细内容】
2023-02-06  XboxYan  51CTO  Tags:CSS   点击:(26)  评论:(0)  加入收藏
对于网页换肤,例如最常见的深色、浅色风格已经是很常见的一个需求了。一直以来也有很多的实现方案,这里我主要介绍一下基于 CSS variable的实现方式简单列举下一些其它实现...【详细内容】
2023-02-04  程序媛最幽默  今日头条  Tags:网页   点击:(53)  评论:(0)  加入收藏
效果: 所有代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport"...【详细内容】
2022-12-11  一个爬坑的Coder  今日头条  Tags:CSS   点击:(48)  评论:(0)  加入收藏
站内最新
站内热门
站内头条