前两天我分享了如何实现三栏布局,本次将分享如何实现另一个经典的布局方式,两栏布局。两栏布局也是前端面试常问的问题,其实现方式相比三栏布局其实更为简单。所谓的两栏布局,一般指的是“一侧定宽,一侧自适应”,在这篇文章中,我将分享实现两栏布局的4种方式。
一、前言
CSS两栏布局指的是在一个容器(container)中,其中一侧定宽布局,而另一侧自适应,自动填满剩余的空间。下面我们以“左侧定宽为200px
,右侧自适应,且两侧的高度都为100px
”为例,采用几种不同的方式来实现此布局。
在这里我们假设已经对所有元素设置了:
1 | margin: 0; |
二、布局方式
1.position布局
HTML代码如下:
1 | <!--我们假设容器元素为body元素,实际情况,可自定义一个container --> |
1 | /* 左侧布局 */ |
2.float布局
HTML部分不变。
CSS部分:
1 | /* 左侧部分 */ |
1 | /* 清除浮动 */ |
3.flex布局
HTML部分:
1 | <div class="container"> |
1 | .container{ |
flex
布局应该是最灵活、最方便的响应式布局方式了,不过其也有一个缺点,那就是必须要IE9以上的浏览器才支持该布局方式。如果不需要兼容IE9及以下浏览器,尽情的使用flex
布局吧。4.grid布局
HTML代码部分与flex
布局一致
CSS部分:
1 | .container{ |
gird
布局是继flex
布局后的又一种布局方式,不过其兼容性相对来说要差一些。5.table布局
HTML与flex布局一致
CSS部分:
1 | .container { |
table
布局很形象,就把其理解为一个表格。不过在实际运用中其实用得比较少。三、总结
通过上文的分析,咱们可以有四种布局方式,以实现左侧定宽、右侧自适应的布局。
- position布局:兼容性好,不过维护困难
- float布局:兼容性好,遵循流式布局原理
- flex布局:必须要IE9以上浏览器才支持,不过使用灵活、方便
- grid布局:兼容性相对较差
- table布局:了解即可
四、下载代码
我将每种布局方式写入了单独的HTML文件,可点击此处下载示例代码压缩包。代码下载后,尽量在新版谷歌浏览器中查看效果。
您还有哪些好的布局方式呢?可以在下方留言分享哦!