浅谈CSS实现两列布局

最近在忙着各种面试,笔试,碰到这样的问题比较多,打算在这里记录下自己对两列布局的一些实现方法的总结

下面我将用三个方法实现左栏固定,右栏自适应宽度的布局

两列布局
<div class="parent">
     <div class="side"></div>
     <div class="main"></div>
</div>

1.Flex

.parent{
    display: flex;
}

.side{
    width: 200px;
    height: 200px;
    margin-right: 10px;
    background: #555;
}

.main{
    flex: 1;
    background: #ddd;
}

flex 默认有三个属性 flex-grow , flex-shrink 和 flex-basis,默认值为 0 | 1 | auto

2.Position

.parent{
    position: relative;
}

.side{
    width: 200px;
    height: 200px;
    position: absolute;
    left: 0;
    background: #555;
}

.main{
    height: 200px;
    position: absolute;
    left: 210px;
    right: 0;
    background: #ddd;
}

.main 宽度为默认值 auto,占据整行并根据left、right调整

3.Float

.parent{  
}

.side{
    width: 200px;
    height: 200px;
    float: left;
    background: #555;
}

.main{
    height: 200px;
    margin-left: 210px;
    background: #ddd;
}

具体使用哪一种方式,还是根据实际情况选择

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

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,637评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,522评论 0 6
  • CSS 3中弹性盒布局的最新版概述 在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模...
    吾名无双阅读 1,253评论 0 5
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 3,182评论 0 59