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>
效果:
背景图位置
背景图缩放
背景复合属性
显示模式
显示模式
显示模式就是标签的显示方式。比如有的标签可以独占一行,有的标签可以和别的标签共占一行,这就是显示模式的特点之一。
了解了标签的显示模式,就可以帮助我们在选择标签时选择得更加合适了。