美文网首页前端开发那些事让前端飞
CSS-三栏布局的常用6种方法

CSS-三栏布局的常用6种方法

作者: zkhChris | 来源:发表于2017-08-24 22:09 被阅读0次

三栏布局一般指左右两栏固定宽度,中间一栏自适应的布局方法,也是许多网站常用的布局方式。如下图:

该示例在一个html文件中编写,为方便起见,预先写好一个通用的css,左右宽度都为100px;

1.浮动三栏


左右两栏均为float,中间一栏宽度自适应,这里为了中间一栏的安全输入空间,要为中间一栏加上左右margin。因为block元素自带换行效果,所以main要放在左右元素的后面,而dom元素是按顺序加载的,因此main不能在左右两栏之间完成加载。

2.利用BFC

利用BFC不与float元素叠加的特点,让中间一栏通过设置overflow属性拥有BFC特性,实现了这个三栏布局。

该布局同样不能让main在左右两栏之前加载。

后面介绍的四种三栏布局可以让main在左右两栏之前加载。

3.absolute实现三栏布局

使用absolute定位,只需将左右两栏绝对定位到窗口两边,为main添加左右margin创建安全输入区域即可。因为absolute是以第一个定位不是static的父元素定位的,为这个整体添加一个定位不是static的父元素,绝对定位不会与header,footer等重叠。并且main的dom位置在left和right的前面,可在左右两栏之前完成加载

4.flex

flex为一种弹性布局方式,flex-direction默认为row,即按行排列;order可以指定在元素在一个flex盒子之中的排列顺序;将main放在left和right前面,并为其设置order至left和right的中间,可以让main优先加载,并且位置不变;flex-grow属性为元素相对放大比率,默认为0,即不放大,设置为1时会自动扩展。

5.圣杯布局

首先,建立main,left,right之间的dom结构,将main的width设为100%,main,left和right均为向左浮动,此时的界面如图:

然后利用负margin对元素碰撞的改变,让下面的两个元素上去。对left,要到最左边,margin-left设为-100%,right要到右边,margin-left设为负的自身宽度,现在界面如图

到这里的步骤都与下面的双飞翼布局一致。

虽然left和right都到了main两边,但main还没有安全输入区间,比如圣杯两字被left盖住了。

为这个整体的父元素box加padding,并用relative将left,right移至对应的位置。

即完成了圣杯布局,可完成main在left,right之前加载。

6.双飞翼布局

双飞翼的步骤基本同圣杯布局,不过在main里面嵌套了一个块级元素,为那个块级元素设置margin,在这个块级元素之中输入的内容不会被覆盖,并在left,right之前载入

相关文章

  • CSS-三栏布局的常用6种方法

    三栏布局一般指左右两栏固定宽度,中间一栏自适应的布局方法,也是许多网站常用的布局方式。如下图: 该示例在一个htm...

  • css-布局

    css基础的知识看完后,我们就要学习如何布局,这里详细的总结一下最近了解的布局方式。 一 单列水平居中 1.子元素...

  • css-布局

    关于css布局里,主要的有浮动(float)关键词,可以设置为left/right/;再一个是overflow解决...

  • css-布局

  • css-布局

    历史 1 .table布局2 .float布局3 .fllex布局 默认:正常流布局 1 .在不对页面进行任何布局...

  • css 垂直居中的方法

    标签:css-常用技巧 table-cell 式将 center 元素的父容器设置为 display:table,...

  • CSS二列&三列布局

    本篇文章主要介绍本人最近在CSS学习中总结出的常用的二列&三列布局的几种方法 二列&三列布局: 二列布局的特征通常...

  • 最全CSS各种布局详解

    一、单列布局的实现 1、单列布局中最常用的水平居中的四种方法 同时设置父元素和子元素的样式:父元素使用text-a...

  • CSS-居中布局

    html 结构: css代码: 水平居中 inline-block + text-align table + ma...

  • CSS-弹性布局

        弹性布局对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性在响应式开发中可以发挥极大的作用。主...

网友评论

    本文标题:CSS-三栏布局的常用6种方法

    本文链接:https://www.haomeiwen.com/subject/anxydxtx.html