内容
- 使用Chrome调试工具 修改和检查样式
- 认识三种常见的 元素显示模式 的特点
- 使用代码实现不同元素显示模式 间的转换
- 实现行内元素和块级元素水平居中
Chrome调试工具
场景1
如果出现了黄色感叹号,并且被划掉了,则这句代码一定有错误。
场景2
样式没有显示,最大的可能是 类名拼写错误。
元素显示模式
块级元素
特点
- 独占一行
- 宽度默认是父元素的宽度,高度由内容撑开
- 可以设置宽高
- 代表性标签
div p h系列 ul li dl dt dd ...
行内元素
特点
- 一行可以显示多个
- 宽高默认内容撑开
- 设置宽高无效
- 代表性标签
input textarea button
显示模式装换
目的:改变元素默认的显示特点
- 转换为块级元素:
display: block; - 转换为行内块元素
display : inline-block; - 转换为行内元素
display: inline;
标签嵌套注意事项
块级元素可以嵌套任意元素,反之不要用p标签去包含 div h系列 p.
a标签可以嵌套任意元素,但是不要用a标签包含a标签
a标签可以包含块级元素,但是吐血推荐小伙伴们进行模式转换
css特性
继承性
子承父业
子元素可以继承父元素的某些样式.
以下属性都可以继承
color: red;
font-style: italic;
font-weight: 700;
font-size: 14px;
font-family: '黑体';
text-indent: 2em;
text-align: center;
line-height: 200px;
控制文字的属性都能继承,不是控制文字的都不能继承.
ul {
/* 去除li标签默认的小圆点 */
list-style: none;
}
继承失效
层叠性
相同的选择器设置相同的样式才会有层叠性.
优先级
不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式
继承<通配符<标签选择器<类选择器<id选择器<行内样式<!important
!important不能提升继承的优先级,只要是继承优先级最低.
如果不是继承,!important天下第一,实际开发不建议使用!important 权重叠加
如果是复合选择器,此时需要通过权重叠加计算方法,判断最终哪个选择器优先级最高会生效
权重叠加公式:
权重叠加计算公式:(每一级之间不存在进位)
行内样式个数 id选择器个数 类选择器个数 标签选择器个数
0 0 0 0如果优先级相同,则比较层叠性,谁的样式在后面,谁说了算.
!important如果不是继承,权重最高 天下第一