两栏布局必掌握实现方式(超简单)

两栏布局实现

实现效果:左边固定,右边自适应
实现三部曲:左浮动,右溢出隐藏,外盒子清除浮动

    <div id="app">
        <div class="left">
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. 
        </div>
        <div class="main">
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tenetur mollitia vero reprehenderit autem commodi hic nam debitis atque quo fugiat distinctio fugit. Harum blanditiis porro quasi maxime sapiente eveniet ipsum.
        </div>
    </div>
    #app::after{
        content: '';
        display: block;
        clear: both;
    }
    .left{
        width: 100px;
        float: left;
        background-color: red;
    }
    .main{
        overflow: hidden;
        background-color: yellow;
    }

看效果:


两栏布局

做常用的,也是必须掌握的两栏布局就完成了。

解释效果实现原理:left左浮动,常规流main就会直接显示上去,默认占满宽度。而main添加overflow(不是默认值visible就行)会触发bfc(一个独立渲染区域),就会避开浮动元素,只撑开剩余内容,从而实现右边自适应(内部实现应该是在main左边添加了外边距)。

至于给父盒子清除浮动,是因为左边浮动,高度不计算在内了,所以清除浮动,确保把父元素盒子撑开。

很多很多网站都是这样布局,这种方式也能实现三栏布局。可自己想一下,很简单。然后看下面提示:

左浮动,右浮动,中间overflow,父盒子清除浮动。

其实实现方式大同小异,不过要注意一点,不管两栏还是三栏布局,浮动元素一定要放在自适应盒子的上面。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。