《web前端笔记30》css三栏布局、左右两栏宽度固定,中间自适应

html-css08

《web前端笔记30》css三栏布局、左右两栏宽度固定,中间自适应,第1张

三栏布局一般指的是页面中一共有三栏, 左右两栏宽度固定,中间自适应的布局 ,三栏布局的具体实现:

利用浮动和负边距来实现。父级元素设置左右的 padding,三列均设置向左浮动,中间一列放在最前面,宽度设置为父级元素的宽度,因此后面两列都被挤到了下一行,通过设置 margin 负值将其移动到上一行,再利用相对定位,定位到两边。

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

例:

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

解决办法:

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

flex布局,弹性布局,可以简便、完整、响应式地实现各种页面布局,未来的布局的首选方案(当然如果你要考虑ie,另说)

.main使用flex属性,.left 和.right使用flex-basis 属性

flex属性是flex-grow(如果有剩余空间,是否扩大), flex-shrink(如果空间不够,是否压缩) 和 flex-basis(本身的空间大小)的简写,默认值为0 1 auto。后两个属性可选

flex属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto),这里使用的是auto,如果有剩余空间,则扩大,如果空间不够,则压缩