相鄰選擇符 E + F:下一個滿足條件的兄弟元素節點
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>div</div>
<p class="demo">1</p>
<p>2</p>
<p>3</p>
</body>
</html>
div+p {
background-color: #ff0000;
}
div+.demo {
font-size: 30px;
}
兄弟選擇符 E~F
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>div</div>
<span class="demo">123</span>
<p class="demo">1</p>
<p>2</p>
<p>3</p>
<ul>
<li>
<p> li1</p>
</li>
<li>
<p> li2</p>
</li>
<li>
<p> li3</p>
</li>
</ul>
<p>4</p>
</body>
</html>
div~p {
background-color: #ff0000;
}
屬性選擇符 E[attr~=“val”]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="a">1</div>
<div class="b">2</div>
<div class="a b">3</div>
<div class="aa b c">4</div>
<div class="aaaa">
5
<div class="a">6</div>
</div>
</body>
</html>
div[class~='a']{
background-color: #ff0000;
}
屬性選擇符 E[attr|=“val”]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="a">1</div>
<div class="b">2</div>
<div class="a-test b">3</div>
<div class="aa b c">4</div>
<div class="aaaa">
5
<div class="aa-test">6</div>
</div>
</body>
</html>
div[class|='a']{
background-color: #ff0000;
}
屬性選擇符 E[attr^=“val”] 和 E[attr$=“val”]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="a">1</div>
<div class="b">2</div>
<div class="a-test b">3</div>
<div class="aa b c">4</div>
<div class="aaaa">
5
<div class="aa-test">6</div>
</div>
</body>
</html>
div[class^='a'] {
background-color: #ff0000;
}
div[class$='st'] {
font-size: 30px
}
屬性選擇符 E[attr*=“val”]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="a">1</div>
<div class="b">2</div>
<div class="a-test b">3</div>
<div class="aa b c">4</div>
<div class="aaaa">
5
<div class="aa-test">6</div>
</div>
</body>
</html>
div[class*='b'] {
background-color: #ff0000;
}
div[class*='st'] {
font-size: 30px
}
div[class*=' '] {
font-weight: 600;
}
僞對象選擇符 E::selection
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
衆所周知,隨着各國的經濟不斷髮展,
目前全球所需要的能源和礦產資源也越來越多,
尤其是其中的稀土等資源就是如此。
</div>
<div>
瞭解過稀土的人都知道,
其可以運用在衆多的領域,
現如今很多軍事武器裝備的研發和建造度離不開稀土的參與。
</div>
</body>
</html>
div:nth-of-type(1)::selection {
color: #fff;
background-color: #fcc;
}
div:nth-of-type(2)::selection {
color: yellow;
background-color: green;
}
E:not(s):匹配不包含選擇符的元素E
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./test.css">
</head>
<body>
<div class="demo">1</div>
<div class="demo">2</div>
<div class="test">3</div>
<div>4</div>
</body>
</html>
div:not(.demo) {
background-color: #ff0000;
}
div:not([class='demo']) {
font-size: 30px;
}
div:not([class]) {
font-size: 60px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./test.css">
</head>
<body>
<ul>
<li>content</li>
<li>content</li>
<li>content</li>
</ul>
</body>
</html>
ul {
width: 300px;
border: 1px solid #999999;
list-style: none;
}
li {
height: 50px;
}
li:not(:last-of-type) {
border-bottom: 1px solid black;
}
E:root :匹配E元素在文檔的根元素。在HTML中,根元素永遠是HTML
:root{
background-color: #ff0000;
}
E:target { sRules }: 匹配相關URL指向的E元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<a href="#box1">a1</a>
<a href="#box2">a2</a>
<div id="box1">box1</div>
<div id="box2">box2</div>
</body>
</html>
div:target {
border: 1px solid #ff0000;
}
E:first-child { sRules }:匹配父元素的第一個子元素E。同理E:last-child{sRules}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
div1
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<div>div2</div>
</body>
</html>
div:first-child {
border: 1px solid #ff0000;
}
p:first-child {
border: 1px solid #0000ff;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
div1
<span>span1</span>
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<div>div2</div>
</body>
</html>
p:first-child {
border: 1px solid #0000ff;
}
E:only-child { sRules }:匹配父元素僅有的一個子元素E。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="div1">
div1
<span class="span1">span1</span>
</div>
<div class="div2">
div2
<span class="span2">span2</span>
</div>
</body>
</html>
.div1:only-child {
border: 1px solid #ff0000;
}
.span1:only-child {
border: 1px solid #0000ff;
}
E:nth-child(n) { sRules } 匹配父元素的第n個子元素E,假設該子元素不是E,則選擇符無效。 根據個數來計算(查找位置優先)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./test.css">
</head>
<body>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<P>4</P>
<P>5</P>
<P>6</P>
</div>
</body>
</html>
p:nth-child(2) {
border: 1px solid #ff0000;
}
p:nth-child(2n) {
font-size: 30px;
}
p:nth-child(2n+1) {
color: #0000ff;
font-weight: bold;
}
E:first-of-type { sRules } 匹配父元素下第一個類型爲E的子元素。 E:last-of-type { sRules }匹配父元素下的所有E子元素中的倒數第一個。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./test.css">
</head>
<body>
<div>
<span>span1</span>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
</div>
</body>
</html>
p:first-of-type {
border: 1px solid #ff0000;
}
p:last-of-type {
border: 1px solid #0000ff;
}
E:only-of-type { sRules }:匹配父元素的所有子元素中唯一的那個子元素E。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
<span>span0</span>
<p>p1</p>
<p>p2</p>
</div>
</body>
</html>
span:only-of-type {
border: 1px solid #0000ff;
}
p:only-of-type {
border: 1px solid #ff0000;
}
E:nth-of-type(n) { sRules } : 匹配父元素的第n個子元素E。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</div>
<div>
<p>1-1</p>
<p>2-1</p>
<p>3-1</p>
</div>
</body>
</html>
p:nth-of-type(1) {
border: 1px solid #ff0000;
}
p:nth-of-type(odd) {
font-size: 30px;
}
p:nth-of-type(even) {
background-color: indigo;
}
p:nth-of-type(n+3) {
color: lightcoral;
}
E:empty { sRules }: 匹配沒有任何子元素(包括text節點)的元素E。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>溫故而知“心”</title>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div>
<span>123</span>
</div>
<div></div>
<div>234</div>
<div> </div>
<div>345</div>
<div></div>
</body>
</html>
div:empty {
padding: 10px;
border: 1px solid #ff0000;
}