【前端】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> 元素:

css 复制代码
p {
  color: red;
}

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

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

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

css 复制代码
.highlight {
  background-color: yellow;
}

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

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

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

css 复制代码
#csdn {
  width: 200px;
}

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

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

css 复制代码
input[type="text"] {
  border: 1px solid gray;
}

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

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

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

css 复制代码
div p {
  font-weight: bold;
}

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

css 复制代码
<ul>
    <li>姓名</li>
    <li>电话</li>
</ul>


ul > li {
    background-color: yellow;
}

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

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

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

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

css 复制代码
* {
  border: 1px solid gray;
}
相关推荐
前端青山35 分钟前
Node.js + MongoDB + Vue 3 全栈应用项目开发
开发语言·前端·javascript·vue.js·mongodb·node.js
wakangda44 分钟前
使用 React Native WebView 实现 App 与 Web 的通讯
前端·react native·react.js
练习两年半的工程师1 小时前
使用vite构建一个react网站,并部署到Netlify上
前端·react.js·前端框架
王哲晓2 小时前
第三十六章 Vue之路由重定向/404页面设置/路径模式设置
前端·vue.js
Fan_web2 小时前
Node.js——fs模块-相对路径的bug与解决
开发语言·前端·node.js·bug
拼图2093 小时前
Vue中箭头函数和普通函数的区别
前端·javascript·vue.js
有一个好名字3 小时前
解决路由缓存问题
前端·vue.js
前端熊猫3 小时前
keep-alive的tab栏内容缓存
前端·vue.js·缓存
一條狗3 小时前
20241108 “postinstall“: “electron-builder install-app-deps“ 導致無法正常下載依賴
前端·javascript·electron
yqcoder3 小时前
electron 中 ipcRendererEvent 作用
前端·javascript·vue.js