美文网首页
三列布局(定宽+自适应+定宽)

三列布局(定宽+自适应+定宽)

作者: 焦迈奇 | 来源:发表于2019-04-27 14:51 被阅读0次

一.float+margin+fix
即:所有元素float:left,container设置overflow:hidden(显示部分文字),center-box设置左右margin=-a.width,-b.width,center设置左右margin=a.width,b.width

<div class="container">
<div class="left"></div>
<div class="center-box">
<div class="center"></div>
</div>
<div class="right"></div>
</div>

<style>
        html,body{
            width: 100%;
            height: 100%;
            margin:0;
            border:0;
            padding:0;
        }
        .container{
            width: 100%;
            height: 100%;
            overflow:hidden;
        }
        .left,.right{
            /*position:relative;*/
            float:left;
            width: 100px;
            height: 100%;
        }
        .center-box{
            float:left;
            width: 100%;
            height: 100%;
            margin:0 -100px;
        }
        .center{
            width: 100%;
            height: 100%;
            margin:0 100px;
            background:green;
        }
        .left{
            background:yellow;
        }
        .right{
            background:red;
        }
    </style>

二. inline-block+margin+fix
即:将所有元素display:inline-block;其他同一。

<style>
        html,body{
            width: 100%;
            height: 100%;
            margin:0;
            border:0;
            padding:0;
        }
        .container{
            width: 100%;
            height: 100%;
            font-size:0;
            overflow:hidden;
        }
        .left,.right,.center-box{
            /*position:relative;*/
            display:inline-block;
        }
        .left,.right{
            width: 100px;
            height: 100%;
        }
        .center-box{
            width: 100%;
            height: 100%;
            margin:0 -100px;
        }
        .center{
            width: 100%;
            height: 100%;
            margin:0 100px;
            background:green;
        }
        .left{
            background:yellow;
        }
        .right{
            background:red;
        }
    </style>

三.table+table-cell()

<div class="container">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>

 <style>
        html,body{
            width: 100%;
            height: 100%;
            margin:0;
            border:0;
            padding:0;
        }
        .container{
            width: 100%;
            height: 100%;
            display:table;
        }
        .left,.right{
            /*position:relative;*/
            display:table-cell;
            width: 100px;
            height: 100%;
        }
        .center{
            display:table-cell;/*没有margin属性*/
            height: 100%;
            background:green;
        }
        .left{
            background:yellow;
        }
        .right{
            background:red;
        }
    </style>

四.absolute

<div class="container">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>

<style>
        html,body{
            width: 100%;
            height: 100%;
            margin:0;
            border:0;
            padding:0;
        }
        .container{
            width: 100%;
            height: 100%;
            position:relative;
        }
        .center{
            position:absolute;
            right:100px;
            left:100px;
            height: 100%;
            background:green;
        }
        .left{
            position:absolute;
            left:0;
            width: 100px;
            height: 100%;
            background:yellow;
        }
        .right{
            position:absolute;
            right:0;
            width: 100px;
            height: 100%;
            background:red;
        }
    </style>

五.flex

<div class="container">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>

<style>
        html,body{
            width: 100%;
            height: 100%;
            margin:0;
            border:0;
            padding:0;
        }
        .container{
            width: 100%;
            height: 100%;
            display:flex;
        }
        .center{
            flex:1;
            height: 100%;
            background:green;
        }
        .left{
            width: 100px;
            height: 100%;
            background:yellow;
        }
        .right{
            width: 100px;
            height: 100%;
            background:red;
        }
    </style>

相关文章

  • CSS布局

    一列布局 一列水平居中 一列垂直居中 两列布局 左定宽右自适应 左自适应右定宽 三列布局 左右定宽中间自适应 左右...

  • 前端常见布局方式

    常见的布局方式 常见的布局这么几种单列水平居中布局, 一列定宽一列自适应布局, 两列定宽一列自适应布局, 两侧定宽...

  • CSS基础布局

    左右布局(高度自适应) 1.左边定宽,右边自适应,或者右边定宽,左边自适应,(高度自适应) 使用 float 完成...

  • 典型布局随记

    左边定宽,右边自适应 左边定宽,右边块状加margin-left:定宽。 三列均等布局 水平垂直居中 定位 tab...

  • css布局

    左边定宽,右边宽度自适应 等高自适应,两列布局

  • 2018-03-19 css 实现左列定宽,右列自适应宽度,等高

    上次面试提到了一个css布局:实现左列定宽,右列自适应宽度,等高布局上次没有答出来,只实现了左列定宽,右列自适应宽...

  • 多列布局

    定宽+自适应 float + margin float + overflow table flex 定宽+定宽+自...

  • 讨论题

    定宽+自适应宽 /*方法一:弹性布局*/ .parent1{display:flex;height:300px;}...

  • 三列布局(定宽+自适应+定宽)

    一.float+margin+fix即:所有元素float:left,container设置overflow:hi...

  • CSS面试常问的题型

    左边定宽,右边自适应方案: 左右两边定宽,中间自适应 左右居中 行内元素:text-align:center 定宽...

网友评论

      本文标题:三列布局(定宽+自适应+定宽)

      本文链接:https://www.haomeiwen.com/subject/jifknqtx.html