前端常见的布局方式

浮动布局

左右固定宽高,设置左右浮动,中间内容设置overflow:hidden宽度自适应


<!--样式代码-->
<style>
.left {
    width: 200px;
    height: 300px;
    float: left;
    background-color: red;
}
.right {
    width: 200px;
    height: 300px;
    float: right;
    background-color: green;
}
.middle {
    height: 300px;
    overflow: hidden; /*重要的一步*/
    background-color: gray;
    border: 1px solid #000;
}
</style>

<!--结构代码-->

<body>
    <!--注意书写结构顺序,先左右后中-->
    <div class="left"></div>
    <div class="right"></div>
    <div class="middle"></div>
</body>

运行效果:

picture

圣杯布局

三个盒子都设置为浮动,浮动方向都为同一方向,中间内容盒子设置width: 100%,两边内容固定宽高,假设浮动方向都为left,那么左边盒子设置margin-left: -100%; 右边盒子设置为margin-left为负的自身宽度,书写dom结构时先写中间内容的盒子,再写左右盒子

<!--样式-->
<style>
.middle {
    width: 100%;
    height: 300px;
    background-color: gray;
    float: left;
}
.left {
    width: 200px;
    height: 300px;
    background-color: red;
    float: left;
    margin-left: -100%;
}
.right {
    width: 200px;
    height: 300px;
    background-color: green;
    float: left;
    margin-left: -200px;
}
</style>

<!--结构-->
<body>
    <!--先写中间的内容区域-->
    <div class="middle"></div>
    <div class="left"></div>
    <div class="right"></div>
</body>

运行效果:

picture

双飞翼布局

基本上和圣杯布局没什么两样,无非就是中间内容盒子里面在嵌套一个子元素,并设置这个子元素的左右两边的margin为左右两边盒子的宽度

<!--样式-->
<style>
.middle {
    width: 100%;
    height: 300px;
    background-color: gray;
    float: left;
}
.middle-content {
    margin: 0 200px;
}
.left {
    width: 200px;
    height: 300px;
    background-color: red;
    float: left;
    margin-left: -100%;
}
.right {
    width: 200px;
    height: 300px;
    background-color: green;
    float: left;
    margin-left: -200px;
}
</style>

<!--结构-->
<body>
    <!--先写中间的内容区域-->
    <div class="middle">
        <div class="middle-content">这是中间内容</div>
    </div>
    <div class="left"></div>
    <div class="right"></div>
</body>

运行效果:

picture

posted @ 2020-03-17 15:03  前端小学生OvO  阅读(459)  评论(0编辑  收藏  举报