前端学习DAY28(水平)
元素水平方向的布局
元素在其父元素中水平方向的位置有以下几个属性共同决定
margin-left border-left padding-left width padding-right border-right margin-right
一个元素在其父元素中,水平布局必须要满足以下的等式
margin-left + border-left + padding-left + width + padding-right + border-right + margin-right
=父元素内容区的宽度(必须满足!!!)
例如:子元素inner七个元素的值如下
0 + 0 + 0 + 200 + 0 + 0 + 0 =600 不成立
以上等式必须满足,如果相加结果等式不成立,则称为过度约束,则浏览器会让等式自动调整
调整的情况
1、如果七个值中没有auto情况,则浏览器会调整margin-right值以使等式满足
0 + 0 + 0 + 200 + 0 + 0 + 400 =600
2、这7个值中width,margin-left,margin-right,这三个值可以设置auto
如果有设置auto,则浏览器会自动调整auto的值,以使等式成立
0 + 0 + 0 + auto + 0 + 0 + 0 =600 auto=600
0 + 0 + 0 + auto + 0 + 0 + 0 =300 auto=300
3、如果将一个宽度和一个外边距设置为auto,则宽度会调整到最大
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.outer{
width: 800px;
height:300px;
border:20px cyan solid;
}
</style>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
4、如果三个值都是auto,也只会调整宽度
5、如果将两个外边距设为auto。宽度固定,则两侧外边距会设置为相同的值
会使元素自动在父元素中居中,所以我们经常将左右外边距设置为auto
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.outer{
width: 800px;
height:300px;
border:20px cyan solid;
}
.inner{
width:400px;
height: 300px;
margin: auto;
background-color: blue;
}
</style>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
这里可以换成margin:0 outo
.inner{
width:200px;
margin: 0 auto;
height: 300px;
background-color: blue;
}
原文地址:https://blog.csdn.net/qq_66645900/article/details/144795056
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!