双飞翼布局和圣杯布局

双飞翼布局和圣杯布局

     网页开发中,经常会遇见左中右垂直三栏的布局方式,两侧结构宽度固定,中间自适应,有时候需要优先加载中间区域,那么便在DOM结构上便有所要求,需要中间区域在前,左右区域在后。
     首先三个元素横向排列,用浮动实现。

.center{float: left;}
.left{float: left;}
.right{float: left;}


    就是中间的在最前面,而且宽度没有自适应网页。中间区域用宽度百分百解决,位置用margin-left移动。

.center{width:100%;}

在这里插入图片描述
    浮动在下面的原因是上面被占满换行了,所以左方块左移动整个浏览器窗口宽度,右方块移动右方块的宽度。

.left{margin-left:-100%}
.right{margin-left:300px}

在这里插入图片描述

一、圣杯布局

    给box添加声明padding-left:left的宽度;padding-right:right的宽度;
(这里也可以用css3新增的属性calc(),width:calc(100% - 500px)相当于是一个计算器,减去左右的宽度,让中间宽度自适应)
css结构:

.box{paddling-left:200px:padding-right:300px}

html结构:

		<div class="box">
			<div class="center">中间部分</div>
			<div class="left">左边部分</div>
			<div class="right">右边部分</div>
		</div>

在这里插入图片描述
    然后用定位移回左右原位置。相对于现在位置移动用相对定位比较方便.

.left{position:relative;left:-200px;}
.right{position:relative;right:300px;}

在这里插入图片描述

双飞翼布局

    双飞翼区别是在center里面创建一个子元素,利用子元素和左右两侧区块实现左右宽度固定中间宽度自适应。
css结构:

.bg{margin-left:200px;margin-right:300px;}

html结构

		<div class="box">
			<div class="center">
				<div class="bg">中间部分</div>
			</div>
			<div class="left">左边部分</div>
			<div class="right">右边部分</div>
		</div>

在这里插入图片描述
    此时中间区域的不再是center,而是center的子元素,子元素用声明margin-left,margin-right空出左右区块。

总结

    圣杯布局和双飞翼布局很像,区别是圣杯布局同一级结构显示上左中右排列。双飞翼结构是center的子元素和left,right实现显示上左中右排列。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值