width/height 内容大小:这两个属性决定元素内容的大小
padding 内边距:元素的内容边界到边框之间的距离
border 边框:元素的边框
margin 外边距: 边框以外是外边距,外边距默认是透明的,因此不会遮挡其后任何元素。
注意:
在 CSS 中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸,
就是把整个占地给撑大了
单样式写法:
边框大小(粗细) border-width
边框样式 border-style
边框颜色 border-color
复合写法:
? border :1px solid #000;
大小 就是像素值 px
border-width: 20px
因为盒子有四个边
所以边框大小细分
border-top-width: 10px;
border-right-width: 10px;
border-bottom-width: 10px;
border-left-width: 10px;
border-style:solid;
none 无边框
solid 实线
dashed 虚线
dotted 点状线
double 双线
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
十六进制颜色值 #CC00FF
英文单词: red blue
border-top-color: #000;
border-right-color: #000;
border-bottom-color: #000;
border-left-color: #000;
border-top:1px solid #CC00FF;
border-right:5px solid red;
border-bottom:10px dotted #660033;
border-left:15px double blue;
元素内容到边框之间的距离
padding:10px 20px 30px 40px;
四个值
padding:上 右 下 左;
三个值
padding: 上 左右 下;
两个值
padding: 上下 左右;
一个值
padding: 上下左右;
注意: 内边距不允许使用负值
padding-top 上面(顶部)内边距. padding-right 右边内边距
padding-bottom 下面(底部)内边距. padding-left 左边内边距
margin 元素边框外,元素与元素 或元素与浏览器之间的距离
margin:10px 20px 30px 40px;
margin:; 可以设置多个值
四个值
margin:上 右 下 左;
三个值
margin: 上 左右 下;
两个值
margin: 上下 左右;
一个值
margin: 上下左右;
margin-top 上面(顶部)外边距. margin-right 右边外边距
margin-bottom 下面(底部)外边距. margin-left 左边外边距
<style>
div{
box-sizing:content-box;
}
</style>
怪异盒模型需要手动设置属性
box-sizing:border-box;
width/height padding * 2 + border * 2 + content(内容大小)
padding 内边距:元素的内容边界到边框之间的距离
border 边框:元素的边框
margin 外边距: 边框以外是外边距,外边距默认是透明的,因此不会遮挡其后任何元素。
标准盒模型
width/height 是作用在content区域内
怪异盒模型
width/height 是作用在content区域+padding区域+border区域 就看成是整个border的宽高
标准盒模型
盒子的占位 = width + padding(左右) + border(左右) + margin(左右)
盒子的占位 = height+ padding(上下) + border上下) + margin(上下)
盒子的宽度= width + padding(左右) + border(左右)
盒子的高度= height+ padding(上下) + border上下)
怪异盒模型
盒子的占位 = width + margin(左右)
盒子的占位 = height+ margin(上下)
盒子的宽度 = width
盒子的高度 = height
当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。请看下图:
?
当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。请看下图:
正正取最大值 =====> 50 60 取60. 正负值相加 =====> 50 -60 取-10. 负负取最负 =====> -50 -60 取-60
同级元素给第二个元素浮动,添加绝对定位,单独设置某一个元素inline-block
父子级元素外边距合并解决办法
给父级设置内边距代替子级的外边距 记住
给父级加边框
给父级overflow:hidden;
设置绝对定位
设置绝对定位\
记住所有的外边距的触发都是在垂直方向上
必须是在普通文档流的块级元素才会触发外边距合并,这是大前提!!!
原文:https://www.cnblogs.com/aorange/p/10906956.html