实现左侧固定宽度, 右侧自适应的两栏布局常见方法
两栏布局方案
实现左侧固定, 右侧自适应的布局方案, 常见的几种, 写了一个各个方案实现效果的Demo, 可以通过这里查看: 预览
首先统一html结构
<div class="container"><div class="left"><p>这是左边的盒子</p></div><div class="right"><p>这是右边的盒子</p></div>
</div>
复制代码
然后统一样式, 左侧固定宽度
.container {padding: 10px;border: 1px dashed #dedede;
}.left {width: 120px;border: 2px solid #2DB3E4;
}.right {border: 2px solid #F37EC1;
}
复制代码
1. 双float方案
利用CSS的calc()
函数来计算右侧宽度值, 需要清除父容器的浮动
设置box-sizing: border-box;
是为了方便计算
.container::after {content: "";display: block;clear: both;
}.left, .right {box-sizing: border-box;float: left;
}.right {width: calc(100% - 120px);
}
复制代码
2. float + margin-left方案
block
的元素盒子的宽度具有填满父容器,并随着父容器的宽度自适应的流动特性。
并且 block元素和浮动元素并排时, block元素会忽视浮动元素
因此给左侧盒子浮动, 右侧设置margin-left保持距离即可
.container::after {content: "";display: block;clear: both;
}.left {box-sizing: border-box;float: left;
}.right {margin-left: 120px;
}
复制代码
3. absolute + margin-left
与方案2原理大致相同, absolute也是会脱离文档流
不用清除浮动, 但也带来了新的问题
- 父容器需要改变position
- 如果左侧盒子比右侧盒子高度, 那么左侧盒子会超出父容器高度
.left {box-sizing: border-box;position: absolute;
}.right {margin-left: 120px;
}
复制代码
4. float + BFC 方法
这种方法不用计算宽度, 原理是BFC可以阻止元素被浮动元素覆盖
.container::after {content: "";display: block;clear: both;
}.left {float: left;
}.right {margin-left: 0;overflow: auto;
}
复制代码
父容器需要清除浮动, 右侧盒子设置了overflow: auto;
形成了BFC
5. flex方案
flex可以说是最好的方案了
直接给右侧盒子设置flex: 1
, 即可自动填满宽度
.container {display: flex;
}.right {flex: 1
}
复制代码
转载于:https://juejin.im/post/5c7548e2518825620b45303f
实现左侧固定宽度, 右侧自适应的两栏布局常见方法相关推荐
- CSS 实现左侧固定,右侧自适应两栏布局的方法
"左边固定,右边自适应的两栏布局",其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点 ...
- html 左边固定右边自动,七种实现左侧固定,右侧自适应两栏布局的方法
总结一下左边固定,右边自适应的两栏布局的七种方法.其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点.关于 ...
- 七种实现左侧固定,右侧自适应两栏布局的方法
总结一下左边固定,右边自适应的两栏布局的七种方法.其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点.关于 ...
- 通过宽高自适应设计两栏布局和三栏布局
1.两栏布局 我们要实现下面这样一个东西:两栏,左边一栏,右边一栏,左边宽高固定,右边宽高自适应,见下图: ✍我们有两种解决办法:(1)给右边盒子加外边距(2)calc函数的运用 第一种方法:(1)给 ...
- css布局 右固定,CSS左侧固定右侧自适应的五种布局方法
在页面或者布局列表中,常常有左侧固定,右侧自使用的情况,接下来,这五种方法满足这个需求. 一.左边浮动,右边margin .box{ height: 200px; background-color: ...
- css浮动布局自适应,CSS | 自适应两栏布局方法
html代码: 固定宽度 自适应区域 1.浮动+margin 第一种: 左侧栏固定宽度向左浮动,右侧主要内容则用margin-left留出左侧栏的宽度,默认宽度为auto,自动填满剩下的宽度. .le ...
- flex实现水平居中和两栏布局
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 前端布局写法原理理解与总结+记忆(两栏布局、圣杯布局、双飞翼布局)
实现两栏布局 (左边固定,右边自适应,文档结构是一个父div包裹两个左右div,子元素height设置百分百自动撑满父元素) <div class="outer">&l ...
- 后端开发工程师的DIV+CSS两栏布局入门
padding 导致 width 扩大 如果对一个元素同时指定了 width 和 padding, 那么它实际的宽度是 padding-left + padding-right + width, 所以 ...
最新文章
- ansible playbook lookups组件
- sql express 无法启动服务_在Windows2012下安装SQL Server 2005无法启动服务的解决办法...
- 关于新手的一个bug,pycharm和IDea的ctrl+C和ctrl+V不起作用
- Windows xp 定时关机命令
- 马斯克宣布:特斯拉Model Y本月14日发布,预估售价折合人民币25.8万
- Inception-ResNet-v1网络结构
- 查看Tomcat版本
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.2 创业者应具备的条件与经验...
- 基金仓位“88%魔咒”再现 百点长阳能否击破?
- Eclipse同屏显示两个代码编辑窗口
- 谷歌大小写转换_如何轻松更改Google文档中文本的大小写
- 1.4 矩阵方程(第1章 线性代数中的线性方程组)
- 赛博杯2020WP web
- 记:一次意外JTAG使用引发对于STM32内核的了解
- diy公益拍卖会 杨宗纬吴尊林俊杰s.h.e等拼人气
- mysql候选关键字_MySQL(三)之SQL语句分类、基本操作、三大范式
- Linux之systemctl命令基本使用
- 2019年内大892数据结构部分参考答案
- 区块链软件公司:区块链到底能做啥?
- 华硕飞行堡垒FX53VD拆机详细教程
热门文章
- orm设置bool型 python_详解python的ORM中Pony用法
- namenode的元数据会被删除吗_从链表中删除数据的时间复杂度真的是O(1)吗?
- 浅析局域网与广域网中数据传输
- python post 参数_python爬虫——requests库使用代理
- 数学表达式3+(a+b)2对应的python表达式是_与数学表达式cd/2ab对应的Python表达式中,不正确的是:...
- 智能机器人建房子后房价走势_日本房价走势分析:房产投资是否“未来可期”?...
- 关闭此标签页 关闭所有标签页easyUI
- python关键字参数顺序_位置参数和关键字参数的求值顺序
- 服务器日志egl文件,【图片】Liddy's Linux编译日志(版本8.4)【蕾迪猫的linux吧】_百度贴吧...
- ftp上传乱码_ftp同步图片到本地文件夹,ftp同步图片到本地文件夹的实现步骤