CSS三栏布局实现,左右固定,中间自适应

html-css017

CSS三栏布局实现,左右固定,中间自适应,第1张

实现方式:左右元素浮动,中间元素左右marign值撑开两边距离。

例:

此时看似没有问题,可是如果中间内容过多,超出左右两边高度,我们将看到 文字环绕 问题,如下如所示。

解决办法:

补充flex左右布局,左边固定,右边自适应,并且两列等高自适应

<style type="text/css">

html, body {margin: 0padding: 0}

.all{ width:100% height:100%}

.left{ width:100px float:left background:#990 height:100%margin-left: -100%}

.right{ width:100% background:#F90 height:100% float:left}

.right_in{ margin-left:100px height:100% }

</style> <div class="all">

    <div class="right">

        <div class="right_in"> 内容</div>

    </div>

    <div class="left">我是固定的</div>

</div>

这样就可以让右侧的宽度自适应,左侧的宽度固定。

原理:

先让右侧的宽度定义为100%;里面的right_in的左边距等于左边固定宽度的尺寸.