注意事项
- 必须用中文符号,不然浏览器会警告
- 区分大小写
文档流(normal flow)
- 中文翻译不准确,即元素的正常流动方向
- 内联元素(inline)如
<span>从左到右分布,到最右边自动换行(一个元素可能分成两块分布在上下两行) - 块级元素(block)如
<div>从上到下分布,每一个块级元素占一行(无论如何都占一行) - 可通过
display属性来修改一个元素的类型(是块级或者内联或者inline-block) - inline-block元素虽然是从左到右分布,但是每一个元素会永远保持完整,即不会分成两块分布在上下两行
宽度
- 内联元素的宽度由其内部的内联元素的总和宽度决定,不能用样式设置宽度!
- 块级元素的默认宽度是auto, 不是100%,可用width设置
- 尽量不写宽度100%
- inline-block元素宽度跟
<span>一样,但是可以设置width
高度
<span>的高度由line-height决定,<span>的可视高度和实际高度是不一样的!无法设置高度<div>的高度是由其内部正常流动元素(文档流元素)决定,即会把其内部所有的文档流元素都包住,可以设置高度
overflow(不适用于内联元素)
当容器内部文档流元素的高度大于容器的高度,就会溢出
overflow为hidden 则隐藏溢出的元素
overflow为scroll 永久显示滚动条
overflow为auto 自动选择合适的时机显示滚动条
overflow为visible 默认情况直接显示溢出的状态
盒模型
- 一个盒子通常可分为外边距(margin),border,内边距(padding),以及内容content
- width只表示content的宽度,为content-box
- width表示border和content的总宽度,则为border-box
- 高度同理!
margin重叠
- 子元素与子元素的上下边距会重叠,而不会叠加
- 父元素与首尾元素的上下边距会重叠,而不会叠加
- 左右边距不会重叠