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

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

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

一.a元素左浮,b_box元素右浮且margin-left=-a.width,b元素margin-left=a.width(这种情况不存在内容overflow不见的)

<div class="a"></div>
<div class="b_box">
<div class="b">内容在overflow时不会少</div>
</div>

<style>
        html,body{
            width: 100%;
            height:100%;
            margin:0;
            padding:0;
            border:0;
        }
        .a{
            float:left;
            width: 100px;
            height: 100%;
            background:yellow;
            position:relative
        }
        .b{

            margin-left:100px;
            height: 100%;
            background:red;
        }
        .b_box{
            float:right;
            width: 100%;
            height: 100%;
            margin-left:-100px;
        }

二.第二种(出现横向滚动栏,可以通过overflow解决,但是内容会不可见部分)a元素左浮,b元素margin-left=a.width

<div class="container">
<div class="a"></div>
<div class="b"></div>
</div>

<style>
        html,body{
            width: 100%;
            height:100%;
            margin:0;
            padding:0;
            border:0;
        }
        .container{
            width: 100%;
            height: 100%;
        }
        .a{
            float:left;
            width: 100px;
            height: 100%;
            background:yellow;
        }
        .b{
            width: 100%;
            height: 100%;
            margin-left:100px;
            background:red;
        }
    </style>

三.a元素左浮,b元素不指定width及margin,只设定overflow:hidden(文本显示完整)

<div class="container">
<div class="a"></div>
<div class="b"></div>
</div>

<style>
        html,body{
            width: 100%;
            height:100%;
            margin:0;
            padding:0;
            border:0;
        }
        .container{
            width: 100%;
            height: 100%;
        }
        .a{
            float:left;
            width: 100px;
            height: 100%;
            background:yellow;
        }
        .b{
            height: 100%;
            background:red;
            overflow:hidden;
            /*触发BFC模式(Block Formating context块级的格式化文本),
          产生的效果是:BFC模式下的容器里面的内容与外界隔离,外面的内容如:
        浮动元素是不会影响BFC里的内容的
        */
        }
    </style>

四.table+table-cell(两列自然等)

<div class="container">
<div class="a"></div>
<div class="b"></div>
</div>

<style>
        html,body{
            width: 100%;
            height:100%;
            margin:0;
            padding:0;
            border:0;
        }
        .container{
            display:table;
            width: 100%;
            height: 100%;
        }
        .a{
            display:table-cell;
            width: 100px;
            height: 100%;
            background:yellow;
        }
        .b{
            display:table-cell;
            height: 100%;
            background:red;
        }
    </style>

五. flex:1(两列自然等高)

<div class="container">
<div class="a"></div>
<div class="b"></div>
</div>

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

注:flex是css3新增的内容,兼容性低。
flex根据内容去自适应,所以性能是一个问题,通常用flex作小范围的布局,而不是大范围的布局,即right中的内容不要太复杂,太多,太多会影响flex的性能

相关文章

  • 前端常见布局方式

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

  • CSS布局

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

  • css布局

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

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

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

  • css常见布局面试题集

    1.左列定宽,右列自适应 浮动: 绝对定位 flex 2.两侧定宽,中栏自适应 flex 3.右侧定宽,左侧自适应...

  • 常见定宽不定宽布局

    左列定宽,右列自适应 该布局方式非常常见,适用于定宽的一侧常为导航,自适应的一侧为内容的布局 1、利用float+...

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

    一.a元素左浮,b_box元素右浮且margin-left=-a.width,b元素margin-left=a.w...

  • 典型布局随记

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

  • 页面布局之单列定宽单列自适应布局

    无论是两列定宽的布局还是两列自适应的布局,两列的盒模型总宽度相加不能大于父级元素的宽度或者大于100%,否则就会出...

  • 面试题的代码实现

    1、两列布局,左边定宽,右边自适应的几种实现方式(5种):http://jsfiddle.net/shanshan...

网友评论

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

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