左右布局并且左边固定宽度的几种实现办法

布局后的样子就是长这样:

以下是让布局长这样子的一些方法

1.左边设置position为absolute,右边margin-left,右边的div不设置宽度,在它的子元素设置宽度100%,具体看下面代码

<body>
        <div style="width: 200px;height:100px;position: absolute;background: gray;">固定200px</div>
        <div style="margin-left: 200px;">
            <div  style="background: yellowgreen;height:100px;width: 100%;">填充满剩下的宽度</div>
        </div>
 </body>

2.两边都设置position为absolute,具体如下:

<body>
        <div style="width: 200px;height:100px;position: absolute;background: gray;top: 0;left: 0;">固定200px</div>
        <div style="height:100px;position: absolute;top: 0;left: 200px;right:0;background: yellowgreen;">填充满剩下的宽度</div>
 </body>

3.接下去这种很好用,利用display:table和display:table-cell,在左边的子元素种设置想要的宽度。现在很多左侧导航等会设置在一定条件下隐藏,然而左侧隐藏后还要调整右侧才能达到良好的显示效果。现在有了这种就不需要调整右侧了,因为左侧display:none后,右侧会自动填充满。不过一定要注意给最外层的div加上width:100%,虽然如果不加,在左侧不隐藏时没什么关系,但是一旦左侧隐藏,右侧就无法填充满了。

<div style="display: table;width: 100%;">
            <div style="background: gray;display: table-cell;height: 100px;">
                <div style="width: 200px;">固定200px</div>
            </div>
            <div style="background: yellowgreen;display: table-cell;width: 100%;height: 100px;">填充满剩下的宽度</div>
 </div>

 

posted @ 2017-09-02 11:11  如果太阳微笑  阅读(568)  评论(0编辑  收藏  举报