圣杯式三栏布局

圣杯式三栏布局的原理:

html:

设置三个div,id依次分别为 main  left  right  并且被一个id为father的父级div将其所包含。(将main放在第一个设置width为100%;能够使其实现自适应。left和right更方便到达指定位置。)

<div class="father">
	    <div class="main col"></div>
	    <div class="left col"></div>
	    <div class="right col"></div>
</div>

css:

之后对father设置padding:0  120px 0 120px;

padding中属性值上下内边距就不用解释了,左右边距分别为左右两栏的固定宽度。

 

给两边的left 和right两栏设置其固定的宽度如

#left{
    width: 120px;					/*设置两边的宽度*/
}
#right{
    width: 120px;					/*设置两边的宽度*/
}

 

对main  left  以及 right添加float:left;position:relative;和高度

相对定位能够相对自己的位置进行移动。当空间不足的时候移动到上一行

 

给left栏设置margin-left:-100%;给right栏设置margin-right其值为负的它本身的宽度,根据上边设置的right宽度为120px:所以

#right{
    margin-left:-120px;
}

这些设置完成之后,结构大概是这样的:

这样的结果还不行,因为这时候两边的两栏覆盖了main栏,这时候需要添加样式:

#left{
    right:120px;        /*把图像的右边缘设置在其包含元素右边缘向左 120 像素的位置*/
}
#right{
    left:120px;
}

完成之后,三栏布局就大功告成了。

最后的结果

这时候,我们还可以给三栏布局中添加间隙,

只需要将padding:0 120px 0 120px;修改成为padding:0 140px 0 140px;

并增加right和left的值

#left{
    right:140px;        /*把图像的右边缘设置在其包含元素右边缘向左 140 像素的位置*/
}
#right{
    left:140px;
}

比原来多出来的像素就是间距的大小。

最后附上所有的代码

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
	.father{
		padding: 0 120px;				/*对整体div设置内边距,之后将两边div移到内容区以外*/
	}
	.col{
	    float: left;					/*使用浮动,使用margin-left就可以移到上一行*/
	    height: 200px;					
	    position: relative;             /*采用相对定位,相对自己的位置挪出去*/
	}
	.left,.right{
	    width: 100px;					/*设置两边的宽度*/
	}
	.left{
	    background-color: blue;
	    margin-left: -100%;
	    right: 120px;					/*把图像的右边缘设置在其包含元素右边缘向左 120 像素的位置*/
	}
	.right{
	    background-color: green;
	    margin-left: -100px;
	    left: 120px;
	}									
	.main{
	    width: 100%;
	    background-color: pink;
	}
	</style>
</head>
<body>
    <div class="father">
	    <div class="main col"></div>
	    <div class="left col"></div>
	    <div class="right col"></div>
	</div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值