赞
踩
过年也不能停止学习,一停下就难以为继,实属不应
当一个盒子出现在另一个盒子的内容区时,该盒子的水平宽度“必须”等于父元素内容区的宽度
盒子水平宽度:
margin-left + border-left + padding-left + width + padding-right + border-right + margin-right
若强行设置盒子的水平宽度不等于父元素内容区的宽度时,这种情况称为“过度约束”
若发生过度约束时,浏览器会按照从左到右的顺序尽可能的满足条件,若不满足则自动调整margin-right
使等式成立
(注:现在好像不能在浏览器中通过F12
选元素查看到浏览器的自动调整,不知道是为啥)
margin-left
和margin-right
的auto
属性:让浏览器自动设置左右外边距
margin-left
和margin-right
的值设置为auto
后,浏览器会根据上述公式平均分配左右外边距
盒子的水平居中
width: 100px;
margin: 0 auto;
注意:必须指明宽度width,否则默认值为auto
,浏览器会默认使用width
进行内容区的填充
示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> --> <title>Box horizontal layout</title> .father { width: 1200px; height: 200px; border: 5px solid red; } .son { width: 200px; height: 200px; background-color: #c7decc; margin: 0 auto; } </head> <body> <div class="father"> <div class="son"></div> </div> </body> </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。