一、水平布局
浏览器规定一个元素水平方向的7个值相加必须要等于其父元素内容区的宽度,
如果不等于的话,浏览器就会强制调整这7个值相等,管这个过程叫过度约束
如何调整的
1、如果水平方向7个值当中没有auto,那么浏览器自动调整就是margin-right
2、水平方向7个值当中,有三个值可以被设置为auto,width、margin-left、margin-right
有1个auto ,谁是auto就调整谁
有2个auto width、margin-left;width、margin-right;margin-left、margin-right
width、margin-left 为auto 调整的是width
width、margin-right 为auto 调整的是width
margin-left、margin-right 为auto margin-left、margin-right各占一半,把元素挤到中间
有3个auto
width、margin-left、margin-right都为auto,调整的是width
总结:有auto的话
width>margin-left、margin-r
二、垂直布局
1. overflow属性
可选值:
visible 默认值 正常显示
hidden 剪裁多余
auto 自动根据内容显示是否出现滚动条
scroll 生成双向滚动条
2.如何去除滚动条
去掉水平滚动条:
<body style="overflow-x: hidden">
去掉竖直滚动条:
<body style="overflow-y: hidden">
隐藏横向滚动条,显示纵向滚动条:
<body style="overflow-x:hidden;overflow-y:scroll">
全部隐藏
<body style="overflow:hidden">
三、外边距的折叠
垂直外边距的重叠
-兄弟元素
如果两个都是正值,谁大听谁的
如果两个都是负值,绝对值谁大听谁的
如果一正一负,两者相加,听最终结果
总结:兄弟元素的外边距重叠,对我们开发来讲,
一般是有利,所以不用做特殊调整
-父子元素
父子外边距重叠,它会影响页面其他元素,所以必须要调整
如何调整
1、不用margin-top,给父元素用padding-top,同时减小父元素的高度
2、在父子之间用边框隔开
3、开启元素的BFC(隐含属性)
overflow:hidden;