1.什么是盒子模型
盒子模型就是把HTML元素看作是一个矩形的盒子,也就是用来存储其它元素的容器。
每个矩形盒子由元素内容,内填充(padding),外边距(margin)和边框 (border)组成。
2.边框
设置四个边框的样式,颜色,粗细
属性 描述 备注
border-style 边框样式 solid|dashed|dotted|duble
border-color 边框颜色
border-width 边框宽度
border-top(bottom|left|right)-style
border-top(bottom|left|right)-color
border-top(bottom|left|right)-width
border:red dashed 1px 复合属性
borer-top:
border-bottom:
border-left:
border-right
3.外边距margin
外边距会在元素创建“空白”,这段空白通常不能放置其它内容
属性 描述
margin-top 上边距
margin-bottom 下边距
margin-left 左边距
margin-right 右边距
margin 四种值
注:
(1)上下外边距不是取二者的和,而是取最大值
(2)设置好宽度,设置margin-left 和margin-right为auto,即可将盒子水平居中
(3)设置子元素的margin-top会产生外边距塌陷问题
解决方案一:设置父元素的overflow:hidden
解决方案二:设置父元素的内填充来代替子元素的外边距
4.内填充padding
设置内容到达盒子边框的填充距离
属性 描述
padding-top 上填充
padding-bottom 下填充
padding-left 左填充
padding-right 右填充
padding 四种值
注:
(1)设置了内填充和边框后,默认的盒子尺寸被撑大
此时的宽度和高度实际上只包含内容的尺寸,真实的盒子尺寸需要加上内填充和边框
可以通过设置box-sizing属性值 改变盒子尺寸计算规则
box-sizing content-box(默认)
border-box(此时设置的宽度和高度包含内填充和边框,重新计算实际的内容尺寸)
二、盒子类型
1.块级盒子
div ,table,p
2.行内盒子
设置宽和高无效
a,span
3.行内块盒子
同行内盒子可以设置宽度和高度
三、display属性
属性值 描述
inline 元素显示为行内盒子
block 元素显示为块级盒子
inline-block 元素显示为行内块盒子
none 元素不会显示
四、溢出
当盒子的尺寸使用绝对时,如果内容超出了设置的大小,此时内容就会溢出盒子。
使用overflow属性控制溢出时的样式
属性值 描述
visible(默认) 内容不会被修剪,会呈现在元素框之外
hidden 溢出的内容会被修剪,并且其余内容是不可见的
scroll 溢出的内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容
auto 如果内容被修剪,则浏览器会显示滚动条