# CSS 盒模型 ## 元素显示模式 - 块级 - 行内 - 行内块 ## 块级元素 - 独占一行 - 宽度默认为父元素 100%;高度默认由元素撑开 - 可以设置宽度和高度 代表标签 ``` div p h ul li dl dt dd form header nav footer ``` ## 行内元素 - 一行显示多个 - 宽度和高度默认由内容撑开 - 不可以设置宽度和高度 代表标签 ``` a span b u i s strong ins em del ``` ## 行内块元素 - 一行显示多个 - 可以设置宽度和高度 代表标签 ``` input textarea button select ``` ## 元素显示模式转换 ```css display: block; ``` | 属性值 | 效果 | | ------------ | ---------- | | block | 块级元素 | | inline-block | 行内块元素 | | inline | 行内元素 | ## HTML 嵌套规范注意点 - 块级元素一般作为大容器; - 可以嵌套文本、块级元素、行内元素、行内块元素 > p 标签中不要嵌套 div p h 等块级元素 - a 标签内部可以嵌套任意内容 > a 标签不能嵌套 a 标签 ## CSS 特性 - 继承性 - 层叠性 (1)继承性 inherited 子元素有默认继承父元素样式的特点 可继承的常见属性(文字属性都可以继承) ``` color font-style font-weight font-size font-family text-align text-indent line-height ``` 通过调试工具判断样式是否可继承 继承失效的特殊情况 如果元素有浏览器默认样式,就不继承父元素属性 - a 标签的 color 会继承时效 - h 系列标签的 font-size 会继承失效 (2)层叠性 同一个标签设置`不同`的样式 - 样式`层叠叠加`,共同作用在标签上 同一个标签设置`相同`的样式 - 样式会`层叠覆盖`,最终写在最后的样式生效 当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果 > 技巧: 编辑器多行输入