1.块级元素
显示特点:
1.独占一行(一行只能显示一个)
- 宽度默认是父元素的宽度
- 可以设置宽高
代表标签:div、p、h系列、ul、li、dl、dd、from、header、nav、footer......
2.行内元素
显示特点:
- 一行可以显示多个
- 宽度和高度默认由内容撑开
- 不可以设置宽高
代表标签:a、span、b、u、i、s、strong、ins、em、del......
3.行内块元素
显示特点:
- 一行可以显示多个
- 可以设置宽高
代表标签:input、textarea、button、select......
特殊情况:img标签有行内块元素特点,但是Chrome调试工具中显示结果是inline
4.元素显示模式转换
目的:改变元素默认的显示特点,让元素符合布局要求
属性 | 效果 | 使用频率 |
display:block | 转换成块级元素 | 较多 |
display:inline-block | 转换成行内块元素 | 较多 |
display:inline | 转换成行内元素 | 极少 |
HTML嵌套规范注意
- 块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素......
但是:p标签中不要嵌套div
- a标签内部可以嵌套任意元素
但是:a标签不能嵌套a标签
CSS特性—继承性
特性:子元素有默认继承父元素样式的特点(子承父业)
可以继承的常见属性(文字控制属性都可以继承)
- color
- font-style、font-weight、font-size、font-family
- text-indent、text-align
- line-height
.......
注意点:可以通过调试工具判断样式是否可以继承
CSS特性—层叠性
特性:
1.给同一个标签设置不同的样式---此时样式会层叠叠加---会共同作用在标签上
2给同一个标签设置相同的样式---此时样式会层叠覆盖---最终写在最后的样式会生效
注意点:当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果
CSS特性—优先级
特点:不同选择器起具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式
优先级公式:继承<通配符选择器<标签选择器<类选择器<id选择器<行内样式<!Important
注意点:
- !important写在属性值的后面,分号的前面!
- !important不能提升继承的优先级,只要是继承优先级最低!
- 实际开发中不建议使用!Important
权重叠加计算
场景:如果是复合选择器,此时需要通过权重叠加计算方法,判断最终哪个选择器优先级最高会生效
权重叠加计算公式:(每一级之间不存在进位)
比较规则:
- 先比较第一级数字,如果比较出来了,之后的统统不看
- 如果第一级数字相同,此时再去比较第二季数字,如果比较出来了,之后的统统不看
- ......
- 如果最终所有数字都相同,表示优先级相同,则比较层叠性(谁写在下面,谁说了算)
注意点:!important如果不是继承,则权重最高,天下第一!