选择器组合实现优先级提权及常用属性缩写
1.实例演示选择器组合实现优先级提权方式; 2.实例演示字体与字体图标;3.实例演示盒模型常用属性的缩写方案
1.实例演示选择器组合实现优先级提权方式
HTML 代码
<body>
<h2 class="on" id="foo">PHP是世界上最美的编程语言</h2>
</body>
- 选择器相同时
当选择器相同时,与书写顺序有关,后面的选择器会覆盖前面的选择器
css 代码
h2 {
color: blue;
}
h2 {
color: red;
}
效果演示
- 单选择器不同时
当选择器不同时,优先级高的选择器会覆盖优先级低的选择器
选择器的优先级从高到低顺序是 id > calls > tag
css 代码
h2 {
color: red;
}
.on {
color: violet;
}
#foo {
color: gold;
}
效果演示
2.不同选择器的组合优先级问题
如何前面的选择器提权?
提权规则:
id > class > tag
有一个计算公式: [id 选择器的数量, class 选择器的数量, tag 选择器的数量]
- 案例 1 [0,0,2]vs[0,0,1]
css 代码
body h2 {
color: blue;
}
h2 {
color: red;
}
效果演示
- 案例 2[0,1,0]vs[0,0,2]
css 代码
body h2 {
color: blue;
}
.on {
color: green;
}
效果演示
- 案例 3[1,0,0][0,1,0]vs[0,0,2]
css 代码
body h2 {
color: blue;
}
.on {
color: green;
}
#foo {
color: gold;
}
效果演示
3.多种选择器的提权
演示代码
<style>
body h2 {
color: blue;
}
.on {
color: green;
}
h2.on {
color: violet;
}
body h2.on {
color: teal;
}
#foo {
color: gold;
}
#foo.on {
color: tomato;
}
h2#foo.on {
color: yellowgreen;
}
</style>
</head>
<body>
<h2 class="on" id="foo">PHP是世界上最美的编程语言</h2>
</body>
演示效果图
小结 :
1、当选择器的类型和数量相同时,根据书写顺序,后面的选择器会覆盖前面的选择器
2、单选择器类型不同时根据 id>calss>tag 的基本原则以及对应选择器数量来判断
不同类型选择器优先级越高,他的权越大;相同类型的选择器数量越多,他的权越大
4.实例演示字体
字体常用属性主要有:字体(宋体、黑体等)、大小(字号大小)、粗细、样式
html 代码
<body>
<h2>PHP是世界上最美的编程语言</h2>
<span class="iconfont icon-kehuguanli"></span>
</body>
css 代码
h2 {
font-size: 4em; /* 字体大小 */
font-weight: 500; /* 字体粗细 */
font-family: sans-serif; /* 字体(宋体、黑体等) */
font-style: italic; /* 字体样式 */
/* 字体属性可以简写为 */
font: italic 500 4em sans-serif;
/* 书写顺序为:样式、粗细、大小、字体;顺序不能颠倒 */
}
效果演示
注意:书写顺序为:样式、粗细、大小、字体;顺序不能颠倒
5.字体图标
css 代码
.iconfont.icon-kehuguanli {
color:skyblue;
font-size: 50px;
}
6.实例演示盒模型常用属性的缩写方案
html 代码
<body>
<div class="box"></div>
</body>
css 代码
.box {
width: 200px;
height: 200px;
background-color: skyblue;
box-sizing: border-box;
/* 将背景色裁切到到内容区 */
background-clip: content-box;
}
效果演示
边框 border
每个边框可以设置三个属性: 宽度,样式,颜色
css 代码.box {
/* 边框border */
/* 每个边框可以设置三个属性: 宽度,样式,颜色 */
border-top-width: 5px;
border-top-style: dotted;
border-top-color: red;
}
.box {
/* 边框四周 */
border-width: 5px;
border-style: dotted;
border-color: red;
/* 简写 */
border: fuchsia 5px solid;
}
内边距 padding
内边距有上下左右四个边距
css 代码.box {
padding-top: 5px;
padding-right: 10px;
padding-bottom: 15px;
padding-left: 20px;
}
内边距的简写
css 代码
.box {
/* 内边距简写 */
padding: 8px 10px 15px 20px;
/* 用三值法设置内边距 */
padding: 10px 15px 20px;
/* 用二值法设置内边距 */
padding: 10px 15px;
/* 用单值法设置内边距 */
padding: 15px;
}
总结,当使用三值和二值时,只需要记住第二个永远表示左右就可以了
当使用二值法事遵循下同上,左同右