CSS常用布局之——等分等高解决方案

html-css027

CSS常用布局之——等分等高解决方案,第1张

先看看等分的布局方案

1. float

兼容性较好(IE 8以上)

**2. flex **

兼容性较差(flex属于css3)

兼容性:IE8及以上

3. table

兼容性:可以兼容 IE 8

1. table

利用 table 的特性——每列等宽

2. flex

3. float

伪等高(只有背景显示高度相等),左右真实的高度其实不相等。 兼容性较好。

四种方式

比如想要做这样一个布局,有哪几种方式。

最简单、最快捷的方式。

element-ui提供的布局容器,el-header头标签,有height属性。el-aside左侧边栏标签,有width属性。el-footer底部标签,有height属性。其他样式可以通过class进行控制。

相对简单的方式。

利用el-col将每行分为24等分的特性,进行布局。其他属性通过class进行控制。

原生css布局的方式,float布局,也是最基础的方式。

将aside向左浮动,固定好宽度。main向右浮动,注意固定好宽度是 100vw - 左侧边栏的宽度 ,注意高度是 100vh - 上下header和footer高度之和 。footer也由于浮动而被挤到到最下面,这边指定float为left、right都是可以的,都可以达到浮动到最下方的效果。

原生css布局的方式,position布局,也是最基础的方式。

sideBar设置好宽度,利用绝对定位将固定在最左边(由于是绝对定位,所以注意已经脱离了文档流)。main设置margin-left为侧边栏宽度,这样就可以使得main不会被遮挡。footer设置为固定定位,bottom为0固定在底部。其他height、width的值也要注意计算哦~

<div class="wrapper">

<div></div><!-- 此处的注释为去掉换行符的影响

--><div></div><!--

--><div></div>

</div>

.wrapper {

width: 100% /* 也可以固定宽度 */

height: 200px

}

.wrapper >div {

display: inline-block /* 如需支持IE8以下版本,用浮动来做 */

width: calc(100% / 3) /* 此处运用了一个css3的表达式,将div三等分,IE8及以上可以支持,当然也可以根据需要设置固定值 */

width: -webkit-calc(100% /3)

width: -moz-calc(100% / 3)

height: 100%

}

以上经亲自测过,IE8+、chrome、firefox表现良好。