CSS 选择器
CSS选择器是CSS中用于选择HTML元素并为其应用样式的一种机制。通过选择器,我们可以精确地定位页面中的元素,并为其设置颜色、字体、布局等样式。理解CSS选择器是掌握CSS的关键一步。
什么是CSS选择器?
CSS选择器是一种模式,用于匹配HTML文档中的元素。通过选择器,我们可以指定哪些元素应该应用特定的样式规则。选择器可以是简单的(如标签名),也可以是复杂的(如组合选择器)。
基本选择器
1. 元素选择器
元素选择器是最简单的选择器,它通过HTML元素的标签名来选择元素。
css
p {
color: blue;
}
输入:
html
<p>这是一个段落。</p>
输出:
这是一个段落。
2. 类选择器
类选择器通过元素的class
属性来选择元素。类选择器以.
开头。
css
.highlight {
background-color: yellow;
}
输入:
html
<p class="highlight">这是一个高亮段落。</p>
输出:
这是一个高亮段落。
3. ID选择器
ID选择器通过元素的id
属性来选择元素。ID选择器以#
开头。
css
#header {
font-size: 24px;
}
输入:
html
<h1 id="header">这是标题</h1>
输出:
这是标题
备注
ID选择器在页面中应该是唯一的,即一个页面中不应有多个元素使用相同的ID。
组合选择器
1. 后代选择器
后代选择器用于选择某个元素的后代元素。它通过空格分隔两个选择器。
css
div p {
color: green;
}
输入:
html
<div>
<p>这是一个段落。</p>
</div>
输出:
这是一个段落。
2. 子元素选择器
子元素选择器用于选择某个元素的直接子元素。它使用>
符号。
css
ul > li {
list-style-type: square;
}
输入:
html
<ul>
<li>项目1</li>
<li>项目2</li>
</ul>
输出:
- 项目1
- 项目2
3. 相邻兄弟选择器
相邻兄弟选择器用于选择紧接在另一个元素后的元素。它使用+
符号。
css
h1 + p {
font-weight: bold;
}
输入:
html
<h1>标题</h1>
<p>这是一个段落。</p>
输出:
标题
这是一个段落。
4. 通用兄弟选择器
通用兄弟选择器用于选择某个元素之后的所有兄弟元素。它使用~
符号。
css
h1 ~ p {
color: red;
}
输入:
html
<h1>标题</h1>
<p>段落1</p>
<p>段落2</p>
输出:
标题
段落1
段落2
属性选择器
属性选择器通过元素的属性来选择元素。
1. 存在属性选择器
选择具有指定属性的元素。
css
a[target] {
color: purple;
}
输入:
html
<a href="#" target="_blank">链接</a>
输出: 链接
2. 属性值选择器
选择具有指定属性值的元素。
css
input[type="text"] {
border: 1px solid #ccc;
}
输入:
html
<input type="text" placeholder="输入文本">
输出:
伪类选择器
伪类选择器用于选择元素的特定状态。
1. :hover
选择鼠标悬停时的元素。
css
a:hover {
color: orange;
}
输入:
html
<a href="#">悬停链接</a>
输出: 悬停链接
2. :nth-child
选择某个父元素下的第n个子元素。
css
li:nth-child(2) {
color: green;
}
输入:
html
<ul>
<li>项目1</li>
<li>项目2</li>
<li>项目3</li>
</ul>
输出:
- 项目1
- 项目2
- 项目3
实际应用案例
1. 导航栏样式
css
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
}
nav ul li {
display: inline;
margin-right: 10px;
}
nav ul li a {
text-decoration: none;
color: #333;
}
nav ul li a:hover {
color: #007BFF;
}
输入:
html
<nav>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</nav>
输出:
2. 表格样式
css
table {
width: 100%;
border-collapse: collapse;
}
table th, table td {
border: 1px solid #ddd;
padding: 8px;
}
table tr:nth-child(even) {
background-color: #f2f2f2;
}
table tr:hover {
background-color: #ddd;
}
输入:
html
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
</tr>
</table>
输出:
姓名 | 年龄 |
---|---|
张三 | 25 |
李四 | 30 |
总结
CSS选择器是CSS中非常重要的一部分,它允许我们精确地选择HTML元素并为其应用样式。通过掌握各种选择器,我们可以更灵活地控制页面的外观和布局。
附加资源
练习
- 创建一个包含多个段落的HTML页面,并使用类选择器为某些段落设置不同的背景颜色。
- 使用伪类选择器
:hover
为链接添加悬停效果。 - 使用属性选择器为所有带有
target="_blank"
属性的链接设置特定的样式。
通过练习,你将更好地理解CSS选择器的应用。