【前端】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;
}
相关推荐
程序员Agions4 分钟前
程序员武学修炼手册(二):进阶篇——小有所成,从能跑就行到知其所以然
前端·程序员
小画家~8 分钟前
第四十六: channel 高级使用
java·前端·数据库
小贵子的博客18 分钟前
Ant Design Vue <a-table>
前端·javascript·vue.js·anti-design-vue
m0_5027249520 分钟前
vue动态设置背景图片后显示异常
前端·css
console.log('npc')27 分钟前
vue2中子组件父组件的修改参数
开发语言·前端·javascript
奋斗吧程序媛1 小时前
vue3 Study(1)
前端·javascript·vue.js
@Autowire1 小时前
Layout-position
前端·css
QQ12958455041 小时前
ThingsBoard - APP首页修改为手工选择组织
前端·javascript·物联网·iot
whyfail1 小时前
前端数据存储新选择:IndexedDB与Dexie.js技术指南
前端·javascript·数据库
椰果uu1 小时前
vue-virtual-scroller-虚拟滚动列表:渲染不定高度长列表+可控跳转
前端·javascript·typescript·vue