聊聊CSS选择器

241 阅读1分钟

今天和大家一起聊聊CSS选择器

CSS选择器的种类

基础选择器

  • 元素选择器
div {
    color: pink; 
}
  • 类选择器
.div {
    color: pink; 
}
  • ID 选择器
#div {
    color: pink; 
}

选择器优先级:元素选择器 < 类选择器 < ID 选择器 < 行内样式 < !important

组合选择器

后代选择器:选择某个元素下的所有指定元素。

   div p {
       margin: 10px;
   }

子选择器:选择某个元素的直接子元素。

ul > li {
    list-style-type: none;
}

相邻兄弟选择器:选择紧接着某个元素的下一个兄弟元素。

h1 + p {
    color: red;
}

通用兄弟选择器:选择某个元素的所有兄弟元素。

h1 ~ p {
    color: green;
}

属性选择器

存在属性选择器:选择具有某个属性的元素。

a[target] {
    color: orange;
}

示例:

<a href="https://example.com" target="_blank">选中</a> 
<a href="https://example.com">未选中</a>
a[target] {
color: pink; /* 所有具有 target 属性的链接颜色为pink*/ 
}

特定属性值选择器:选择具有特定属性值的元素。

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

示例:

<input type="text" placeholder="输入文本">
<input type="password" placeholder="输入密码">
input[type="text"] {
    border: 1px solid pink; /* 所有类型为 text 的输入框边框为pink */
}

伪类选择器

链接伪类:选择链接的不同状态。

a:link {
    color: blue;
}
a:visited {
    color: purple;
}

悬停伪类:选择鼠标悬停时的元素。

button:hover {
    background-color: lightgray;
}

偶数和奇数伪类:选择偶数或奇数行。

 tr:nth-child(even) {
     background-color: #f2f2f2;
 }

伪元素选择器

选择元素的一部分

p::first-line {
    font-weight: bold;
}

选择元素的特定部分

p::before {
    content: "Note: ";
    font-weight: bold;
}