关于css中3列浮动三列宽度自适应布局

所谓“自适应”不过就是对width设置以百分比为单位的宽度,本文所讨论的只是一点关于3列浮动三列宽度自适应布局的细节问题。
首先来看下3列浮动三列宽度自适应布局的效果:
在这里插入图片描述

3列浮动三列宽度自适应布局目前总结了两种方法实现:
A.

<style type="text/css">
body{
	margin:0;
}
#left{
	background-color:#ffcc00;
	border:0px;
	width:25%;
	height:250px;
	position:absolute;
	top:0px;
	left:0px;
}
#center{
	background-color:#ccffcc;
	border:0px;
	height:250px;
	/*这里没有设置width,而实际上是间接默认了width为100%,要注意left和right两个盒子都是嵌在center这个盒子中的*/
}
#right{
	background-color:#ffcc00;
	border:0px;
	width:25%;
	height:250px;
	position:absolute;
	top:0px;
	right:0px;
}
</style></head>
<body>
<div id="left"></div>
<div id="center"></div>
<div id="right"></div>

用了定位属性position,不允许中间的盒子设置宽度
如果设置了宽度运行效果:
在这里插入图片描述

可以看出,中间留出了一大片空白,原因代码中已经注释了。
B.

<style type="text/css">
body{
	margin:0px;
}
.left{
	background-color:#ffcc00;
	border:0px;
	width:25%;
	height:250px;
	float:left;
}
.center{
	background-color:#ccffcc;
	border:0px;
	width:50%;/*与前面代码不同的是,这里定义了width,实际上是3个独立的盒子分开后拼接作用的效果,不存在内嵌*/
	height:250px;
	float:left;
}
.right{
	background-color:#ffcc00;
	border:0px;
	width:25%;
	height:250px;
	float:left;
}
</style></head>
<body>
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>

这是第二种方法,只用float属性,注意3个盒子是拼接在一起的,需要对3个盒子都设置宽度
以上理解之后,那么关于3列浮动中间宽度自适应可以用position属性即方法A
实现
(只需把左右盒子设置为固定宽度,中间不设置即可),不建议使用方法B即只用float实现,毕竟两边盒子设置为固定宽度那么中间盒子宽度该如何设置呢?!
(设置为固定值肯定不是自适应,设置为百分比又该设置为多少呢?!)
目前为止,感觉实际制作中发现还是3列自适应好用,3列浮动中间自适应用的不多。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值