两边固定中间自适应的页面布局

如上图所示对页面进行布局

左右两部分是固定宽度的,中间黄色的区域可以随页面宽度的不同而调整,且与两边div有个间距。

方法一:浮动

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body,div{
            margin:0;padding:0;
        }
        .box1{
            float:left;
            width:200px;
            height:400px;
            background:blue;
        }
        .box3{
            height:400px;
            background:yellow;
            margin:0 220px;/*margin值是让3个div之间有个20px的间距*/
        }
        .box2{
            float:right;
            width:200px;
            height:400px;
            background:red;
        }
    </style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>

  元素只能影响后面的浮动元素的位置,对前面的没有影响,所以box1、box2左右浮动后位置就固定了,然后加入的box3因为有高度,所以宽度会自适应。

方法二:中间定位

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body,div{
            margin:0;padding:0;
        }
        .box1{
            float:left;
            width:200px;
            height:400px;
            background:blue;
        }
        .box2{
            float:right;
            width:200px;
            height:400px;
            background:red;
        }
        .box3{
            height:400px;
            background:yellow;
            position:absolute;
            left:220px;
            right:200px;
        }
    </style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>

附:元素居中的方法:{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;}

方法三:两边定位

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body,div{
            margin:0;padding:0;
        }
        .box1{
            position:absolute;
            left:0;
            top:0;
            width:200px;
            height:400px;
            background:blue;
        }
        .box2{
            position:absolute;
            right:0;
            top:0;
            width:200px;
            height:400px;
            background:red;
        }
        .box3{
            height:400px;
            background:yellow;
            margin:0 220px;
        }
    </style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>

方法四:弹性盒模型

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body,div{
            margin:0;padding:0;
        }
        body{
            width:100vw;
            display:flex;/*弹性盒*/
            flex-flow:row nowrap;/*主轴方向 子元素横向排列*/
            justify-content: space-between;/*主轴上的对齐方式*/
        }
        .box1{
            width:200px;
            height:400px;
            background:blue;
        }
        .box2{
            width:200px;
            height:400px;
            background:red;
        }
        .box3{
            flex-grow:1;/*设置元素的扩展比率*/
            height:400px;
            background:yellow;
            margin:0 20px;
        }
    </style>
</head>
<body>
<div class="box1"></div>
<div class="box3"></div>
<div class="box2"></div>
</body>
</html>
时间: 2024-11-04 14:15:31

两边固定中间自适应的页面布局的相关文章

中间固定 两边平分的 自适应三栏布局

NEC 和网上有很多关于两栏三栏布局的案例,而关于三栏布局大体为: 两边固定大小 中间自适应: 无意中一个朋友问我: 中间固定 两边平分的 自适应三栏布局 怎么实?! 当时第一时间想到的是用 display: flex; 然而这个属性不是全兼容的,目前市场上一些国产机的浏览器 实现不了想要的结果: 回去细想后觉得用position是个方法——不管怎样这是在布局中被我用坏了的属性,总能帮我解决很多问题! 以下是贴出的代码: <style> *{ padding: 0; margin: 0; }

html 两边固定中间自适应效果

很多时候会用到自适应的效果,现在我分享一个两边固定中间自适应的效果, 利用的是浮动特性来完成的,下面是代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>宽度自适应布局</title> <style> .mid{ height:400px; background:#c00; margin:0 100px;} .left{ he

前端经典布局(两边固定中间自适应)

一.介绍 下边将介绍前端很流行的布局方式,要求两边固定,中间自适应.比较流行的布局方式有圣杯布局,双翼布局,flex布局.绝对定位布局. 二.圣杯布局 圣杯布局,顾名思义,他具有以下特点: 1.三列布局,中间自适应,两边定宽: 2.中间栏要求在浏览器中优先展示: 接下来我们看实现方式: div我们这样写: <div class="container"> <div class="main">main</div> <div cl

css布局两边固定中间自适应的四种方法

第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法. 代码如下: <div style="width:100%; margin:0 auto;"> <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div> <div style="width:150px; float:left

css 布局:两边固定中间自适应

解析四种常用方法以及原理:浮动.浮动内嵌 div.定位.flex. 浮动 <style type="text/css"> .wrap {background: #eee; padding: 20px; } p {margin: 0; } .left {width: 200px; height: 200px; float: left; background: coral; } .right {width: 200px; height: 200px; float: right;

中间固定两侧自适应三栏布局

上一种布局“中间自适应两侧固定” 用了三种方法去解决,这一种是不常见的布局格式,来看下解决方法,先看简单的解决 第一种:绝对定位 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> html,body{ height: 100%; padding:

两侧固定中间自适应三栏布局

第一种方法:绝对定位: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body,html{ padding: 0; margin: 0; height: 100%;} .left,.right{ width: 230px; height: 1

css3 flex流动自适应响应式布局实例 转

转自:http://www.tuicool.com/articles/auEbMzU   感谢他的分享, 一.图片自适应居中 实例图: 实例HTML: <div class="demo"> <img src="http://dummyimage.com/100x100" alt=""> </div> <div class="demo"> <img class="&

页面布局-上中下/左右

1.上下固定,中间自适应的布局 1 <!--flex布局--> 2 <section class="top-center-bottom"> 3 <style type="text/css"> 4 .top-center-bottom{ 5 width: 500px; 6 height:500px; 7 display: flex; 8 flex-direction: column; 9 } 10 .top{ 11 width: 1