css新增的伪类选择器
伪类名 | 含义 |
---|---|
element:root | 匹配文档的根元素。在HTML文档中,根元素永远是<html…/>元素。 |
element:first-child | 匹配符合element选择器,且必须是其父元素的第n个子节点的元素。 |
element:last-child | 匹配符合element选择器,且必须是其父元素的最后一个子节点的元素。 |
element:nth-child(n) | 匹配符合element选择器,且必须是其父元素的第一个子节点的元素。 |
element:nth-last-child(n) | 匹配符合element选择器,且必须是其父元素的倒数第n个子节点的元素。 |
element:only-child | 匹配符合element选择器,且必须是其父元素的唯一子节点的元素。 |
element:first-of-type | 匹配符合element选择器,且是与它同类型、同级的兄弟元素中的第一个元素。 |
element:last-of-type | 匹配符合element选择器,且是与它同类型、同级的兄弟元素中的最后一个元素。 |
element:nth-of-type(n) | 匹配符合element选择器,且是与它同类型、同级的兄弟元素中的第n个元素。 |
element:nth-last-of-type(n) | 匹配符合element选择器,且是与它同类型、同级的兄弟元素中的倒数第n个元素 |
element:only-of-type | 匹配符合element选择器,且是与它同类型、同级的兄弟元素中的唯一一个元素。 |
element:empty | 匹配符合element选择器,且其内部没有任何子元素(包括文本节点)的元素。 |
element:lang(lang) | 匹配符合element选择器,且内容是特定语言的元素。 |
案例
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>css新增的选择器_test</title>
<style>
/* 等同html,body{margin:0;padding:0} */
:root{
margin: 0;
padding: 0;
}
table{
border: 1px solid black;
text-align: center;
width: 300px;
height: 300px;
float: left;
margin: 0 20px;
}
div,td{
border: 1px solid black;
}
div{
width: 300px;
height: 300px;
float: left;
}
/* 最后一列单元格 */
td:last-child{
background: rgb(39, 120, 122);
}
/* 最后一个单元格 */
tr:last-child > :last-child{
background: chartreuse;
}
/* 第一列单元格 */
td:nth-child(1){ /* 元素从1开始 */
color: red;
}
/* 向空元素中添加样式 */
div:empty{
background: crimson; /* 若该元素中有文本内容也不算空元素 */
}
</style>
</head>
<body>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
<tr>
<td colspan="3">10</td>
</tr>
</table>
<div>This is an element of a div.</div>
<div style="margin-left: 20px;"></div>
</body>
</html>
运行结果: