P44 - P
四个知识点:
-
复合选择器
-
CSS特性
-
背景属性
-
显示模式
复合选择器
复合选择器仍然是选择器,只要是选择器,作用就是找标签。复合选择器就是把基础选择器进行组合使用。组合了之后就可以在大量的标签里面更快更精准地找标签了。找到了标签,也就能设置样式了。
后代选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-后代选择器</title>
<style>
div span {
color: red;
}
</style>
</head>
<body>
<span>span 标签</span>
<div>
<span>这是 div 的儿子 span</span>
<p>
<span>这里是 div 的孙子 span</span>
</p>
</div>
</body>
</html>
效果:
子代选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>02-子代选择器</title>
<style>
div>span {
color: red;
}
</style>
</head>
<body>
<span>span 标签</span>
<div>
<span>这是 div 的儿子 span</span>
<p>
<span>这里是 div 的孙子 span</span>
</p>
</div>
</body>
</html>
效果:
并集选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>03-并集选择器</title>
<style>
div,
p,
span {
color: red;
}
</style>
</head>
<body>
<div>div 标签</div>
<p>p 标签</p>
<span>span 标签</span>
</body>
</html>
效果:
交集选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>04-交集选择器</title>
<style>
p.box {
color: red;
}
</style>
</head>
<body>
<p class="box">p 标签,使用了类选择器 box</p>
<p>p 标签</p>
<div class="box">div 标签,使用了类选择器 box</div>
</body>
</html>
效果:
伪类选择器
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>05-伪类选择器</title>
<style>
/* 任何标签都可以设置鼠标悬停状态 */
a:hover {
color: orange;
}
.box:hover:hover {
color: red;
}
</style>
</head>
<body>
<a href="#">a 标签,超链接</a>
<div class="box">div 标签</div>
</body>
</html>
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>06-拓展-超链接伪类</title>
<style>
/* a:link {
color: skyblue;
}
/* 浏览器有缓存,一旦点击后就保持为visited的颜色,除非清空缓存,否则将看不见link的颜色 */
a:visited {
color: orange;
}
a:hover {
color: red;
}
/* 鼠标左键点击下去,不要松开,就能看见active的颜色 */
a:active {
color: black;
}
*/
/* 工作中,一般都是用一个 a 标签统一设置样式,唯独把 hover 状态单独设置 */
a {
color: red;
}
a:hover {
color: blue;
}
</style>
</head>
<body>
<a href="#">a 标签,测试伪类。</a>
</body>
</html>
CSS特性
CSS 特性就是 CSS 属性和选择器的特点。了解了这些特点之后,可以有助于减少代码量,还能根据对应的特点去解决代码当中的问题。
CSS 特性有三大类:
-
继承性
-
层叠性
-
优先级
继承性
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>07-CSS特性-继承性</title>
<style>
body {
font-size: 30px;
color: red;
font-weight: 700;
}
</style>
</head>
<body>
<div>div 标签</div>
<p>p 标签</p>
<span>span 标签</span>
<!-- 嵌套的标签也能继承 -->
<p><span>嵌套的标签</span></p>
<!-- 有默认属性时,则不继承,保留自己的属性 -->
<!-- 自己没有的属性,就继承,比如这里继承了加粗和字号两个属性 -->
<a href="#">a 标签</a>
<!-- 标题有自己的字号,就没有继承字号 -->
<h1>h1 标签</h1>
</body>
</html>
效果:
层叠性
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>08-CSS特性-层叠性</title>
<style>
div {
color: red;
/* 不生效 */
font-size: 30px;
/* 生效 */
}
div {
color: green;
/* 生效,相同属性进行覆盖 */
font-family: 楷体;
/* 生效 */
}
</style>
</head>
<body>
<div>div 标签</div>
</body>
</html>
效果:
优先级
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>09-CSS特性-优先级</title>
<style>
/* 给一个标签加了多个选择器 */
/* 标签选择器 */
div {
color: red;
}
/* 类选择器 */
.box {
color: green;
}
</style>
</head>
<body>
<div class="box">div 标签</div>
</body>
</html>
!important
是提权功能,可以把优先级提高到最高。它是加到 CSS 属性身上。希望哪个属性生效,就把 !important
加到哪个 CSS 属性身上。
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>09-CSS特性-优先级2</title>
<style>
div {
color: green;
}
* {
color: red !important;
}
.box {
color: blue;
}
#test {
color: orange;
}
</style>
</head>
<body>
<div class="box" id="test" style="color: purple;">div 标签</div>
</body>
</html>
Emmet 写法
背景属性
比如背景颜色、背景图片。
背景图
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>12-背景图</title>
<style>
div {
width: 400px;
height: 400px;
background-image: url(
./images/1.png
);
}
</style>
</head>
<body>
<div>div 标签</div>
</body>
</html>
效果:
背景图平铺方式
程序示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>13-背景图平铺方式</title>
<style>
div {
width: 400px;
height: 400px;
background-color: pink;
background-image: url(./images/1.png);
background-repeat: no-repeat;
}
</style>
</head>
<body>
<div>div 标签</div>
</body>
</html>
效果:
背景图位置
背景图缩放
背景复合属性
显示模式
显示模式
显示模式就是标签的显示方式。比如有的标签可以独占一行,有的标签可以和别的标签共占一行,这就是显示模式的特点之一。
了解了标签的显示模式,就可以帮助我们在选择标签时选择得更加合适了。