前端学习DAY28(水平)

发布于:2025-02-11 ⋅ 阅读:(50) ⋅ 点赞:(0)

元素水平方向的布局

        元素在其父元素中水平方向的位置有以下几个属性共同决定

        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;
         }


网站公告

今日签到

点亮在社区的每一天
去签到