<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0dda6026-0a90-4c9f-9b55-5d52f456661b/css.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0dda6026-0a90-4c9f-9b55-5d52f456661b/css.png" width="40px" /> CSS
</aside>
<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/11bedaf4-6384-4c77-80bb-1ea43bb797f9/js.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/11bedaf4-6384-4c77-80bb-1ea43bb797f9/js.png" width="40px" /> JavaScript
</aside>
<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b9285107-50f6-454f-9e0d-55f507db3600/css.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b9285107-50f6-454f-9e0d-55f507db3600/css.png" width="40px" /> CSS 选择器规定了CSS规则会被应用到哪些元素上
</aside>
本文使用一个统一的HTML案例,并通过使用不同的选择器例子来测试究竟哪些元素被添加了样式(主要是宽度为1px的边框),对应的HTML代码如下,为了方便你的理解,我在下面附带了一个树状的元素图。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<div class="grandfather1">grandfather1
<div class="father1">father1
<div id="son11" name="TedMosby" nickName="Ted Teddy" language="zh-CN"><span>son11</span></div>
<div id="son12" name="BobMosby"><span>son12</span></div>
<div id="daughter11" name="LilyMosby"><span>daughter11</span></div>
</div>
</div>
</body>
</html>
<aside> 🔑 font-size:字体大小 font-weight:字体粗细 font-family:字体家族 color:字体颜色
</aside>
<aside> 🔑 border:边框 margin:外边距 padding:内边距 background:背景色
</aside>
/* 给所有元素都加上一个🍎色边框 */
* {
border: 1px solid red;
}
由于截图工具的原因,<body>的右侧边框无法在截图中体现出来。
/* 给所有div元素加上一个🍏色边框 */
div {
border: 1px solid green;
}
/* 给所有class值为father1的div添加一个🧀色边框 */
.father1 {
border: 1px solid Gold;
}
/* 给所有ID值为son11的div添加一个🥕色边框 */
#son11 {
border: 1px solid orange;
}
/* 给有name属性的div加一个🍐色边框 */
[name] {
border: 1px solid yellowgreen;
}
/* 给name属性值为TedMosby的div加一个🍇色边框 */
[name=TedMosby] {
border: 1px solid violet;
}
<aside> 💡 『#ID属性值』 等同于『id=[ID属性值]』
</aside>
/* 给nickName属性列表中包含Teddy的div添加一个🍆色边框 */
[nickName~=Teddy] {
border: 1px solid blueviolet;
}
<aside> 💡 『.[类名]』 等同于 『class~=[类名]』
</aside>
/* 给language属性为zh-CN的div添加一个🍒色边框 */
[language|=zh] {
border: 1px solid Coral;
}
/* 给name属性以Ted开头的div添加一个🥒色边框 */
[name^=Ted] {
border: 1px solid forestGreen;
}
/* 给name属性以Mosby结尾的div添加一个🌰色边框 */
[name$=Mosby] {
border: 1px solid Brown;
}
/* 给name属性包含Mos的div添加一个🍅色边框 */
[name*=Mos] {
border: 1px solid Tomato;
}
/* 给name属性为BobMosby的儿子和LilyMosby的女儿添加🍓色边框 */
[name=TedMosby],
[name=LilyMosby]{
border: 1px solid Crimson;
}
A B
/* 给所有grandfather1类div的后代元素添加一个🍑色边框 */
.grandfather1 div {
border: 1px solid PeachPuff;
}