当前位置: 首页 > article >正文

【前端】CSS常见的选择器

CSS(层叠样式表)提供了多种选择器,用于选择要应用样式的 HTML 元素。在CSS中选择器是一种模式,用于匹配HTML文档中的某些元素并且应用到这些元素上。我们可以通过选择器给特定的元素设置样式。

常见的 CSS 选择器

元素选择器(element selector)
类选择器(class selector)
ID选择器(id selector)
属性选择器(attribute selector)
后代选择器(descendant selector)
子元素选择器(child selector)
相邻兄弟选择器(adjacent sibling selector)
通用选择器(universal selector)

1、元素选择器(Element Selector):通过元素名称选择 HTML 元素。

如下代码,p 选择器将选择所有 <p> 元素:

p {
  color: red;
}

2、类选择器(Class Selector):通过类别名称选择具有特定类别的 HTML 元素。

类选择器以 . 开头,后面跟着类别名称。

如下代码,.highlight 选择器将选择所有具有类别为 "highlight" 的元素。

.highlight {
  background-color: yellow;
}

3、ID 选择器(ID Selector):通过元素的唯一标识符(ID)选择 HTML 元素。

ID 选择器以 # 开头,后面跟着 ID 名称。

如下代码,#csdn选择器将选择具有 ID 为 "csdn" 的元素。

#csdn {
  width: 200px;
}

4、属性选择器(Attribute Selector):通过元素的属性选择 HTML 元素。属性选择器可以根据属性名和属性值进行选择。

如下代码,input[type="text"] 选择器将选择所有 type 属性为 "text" 的 <input> 元素。

input[type="text"] {
  border: 1px solid gray;
}

5、后代选择器(Descendant Selector):通过指定元素的后代关系选择 HTML 元素。

后代选择器使用空格分隔元素名称。

如下代码,div p 选择器将选择所有在 <div> 元素内的 <p> 元素。

div p {
  font-weight: bold;
}

6、子元素选择器(Child Selector):通过指定元素的直接子元素关系选择 HTML 元素。子元素选择器使用 > 符号分隔父元素和子元素。例如,ul > li 选择器将选择所有 <ul> 元素的直接子元素中的 <li> 元素。

<ul>
    <li>姓名</li>
    <li>电话</li>
</ul>


ul > li {
    background-color: yellow;
}

7、相邻兄弟选择器(Adjacent Sibling Selector):通过指定元素之间的相邻兄弟关系选择 HTML 元素。相邻兄弟选择器使用 + 符号分隔两个相邻元素,且二者有共同的父元素。例如,h2 + p 选择器将选择紧接在 <h2> 元素后的 <p> 元素。

<h2>这是html的2级标题</h2>
<p>这是一个段落</p>
 
 
h2 + p {
  color: red;
}

8、通用选择器(Universal Selector):选择所有 HTML 元素。通用选择器使用 * 符号。例如,* 选择器将选择页面上的所有元素。

通用选择器会匹配页面所有的元素给所有的元素设置样式;在编写代码的时候应该避免使用通用选择器,因为过多的使用通用选择器会使得页面加载缓慢。

* {
  border: 1px solid gray;
}


http://www.kler.cn/a/271719.html

相关文章:

  • 信号处理以及队列
  • 【自学笔记】计算机网络的重点知识点-持续更新
  • 使用 Context API 管理临时状态,避免 Redux/Zustand 的持久化陷阱
  • nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)
  • C语言初阶力扣刷题——349. 两个数组的交集【难度:简单】
  • 哈工大:LLM高质量嵌入模型KaLM-Embedding
  • JAVA初阶数据结构栈(工程文件后续会上传)(+专栏数据结构练习是完整版)
  • 【设计模式】Java 设计模式之装饰者模式(Decorator)
  • 浅谈C/C++的常量const、指针和引用问题
  • 用Stable Diffusion生成同角色不同pose的人脸
  • C#使用SharpZipLib对文件进行压缩和解压
  • NCV8705MTADJTCG稳压器芯片中文资料规格书PDF数据手册引脚图图片价格功能
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Search)
  • venv uvicorn python 虚拟服务器外网无法访问
  • swagger踩坑之请求类不显示具体字段
  • Redis + Caffeine = 王炸!!
  • Spring项目-前端问题:Can‘t find variable:$
  • 通用的springboot web jar包执行脚本,释放端口并执行jar包
  • PHP修改默认上传文件缓存位置
  • PC-DARTS: PARTIAL CHANNEL CONNECTIONS FOR MEMORY-EFFICIENT ARCHITECTURE SEARCH
  • HamonyOS进度条通知
  • 请解释Redis是什么?它有哪些主要应用场景?Redis支持哪些数据类型?并描述每种数据类型的特性和使用场景。
  • 1.实用Qt:解决绘制圆角边框时,圆角锯齿问题
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridItem)
  • SQL注入无回显,利用DNSlog构造方式
  • 力扣-3. 无重复字符的最长子串