分享
 
 
 

CSS创建各栏同高的多栏布局

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

关于我的个人网站被问到最多的问题是:

你是怎么让右边这一栏的背景色一直向下扩展的?

这确实是个很简单的问题,也许你也已经相当熟悉,但很多人还不知道。下面介绍的技术是一个简捷的小技巧,它一定可以帮助你解决这个头痛的问题。

垂直伸展

CSS有一些多少让人感到沮丧的特性,比如元素在垂直方向上只按照它确实需要的长度来伸展。也就是说,如果把一个200像素高的图片放在一个<div>中,这个<div>只会伸展到200像素高。

当你用<div>把你的标签分开(译者按,指结构化地创建XHTML代码),然后应用CSS创建一个分栏布局的时候,事情会变得有趣而两难。其中有一栏可能会比另一栏长一些(图1)。由于栏高取决于栏内包含的内容总量,所以创建一个两栏高度相同但颜色不同的分栏式布局就变得有一些困难。

图1

有一些方法可以使竖栏在垂直方向上看起来都一样长,而不用考虑它们包含的内容。在这里和大家分享我自己的解决方案(和使用绝对定位的布局配合使用),这是一个非常非常……简单的方法。同样的技巧也在其他地方使用着,包括A List Apart(译者按,ALA目前并没有使用这种方法,也许改版过了,下同)。

骗术

整个方案的秘密其实很简单,用一个纵向平铺的背景图片来造成着色的分栏假像。以SimpleBits(作者的网站,译者按)为例,我创建了一个如图2所求的背景图片。最左边是一个装饰图案,它的右边是一段很宽的白色区域(用于内容栏),接着一个一像素的边框,然后是淡棕色的背景(用于侧边栏),最右边又是装饰图案,它是最左边装饰图案的水平翻转。

图2

整个图片只有几像素高,但是当它纵向平铺后,将创建一个一直伸展到页面底部的着色分栏结构——无论栏内的内容孰长孰短。

CSS

这条基本的CSS规则将被添加到body元素。

background: #ccc url(bg_birch_800.gif) repeat-y 50% 0;

本质上来说,我们把整个页面的背景设为灰色,并且只在垂直方向上平铺背景图片(repeat-y)。“50% 0”设置了背景图片的定位——在本例中,从浏览器的左边50%(使图片居中)并且从顶部0像素处开始平铺。

栏定位

放好背景图片后,把竖栏定位到顶部,左侧栏和后侧栏都有它们自己的内外补丁,请保证它们呆在了正确的地方——在背景图片创建的假竖栏之内(图3)。

图3

还有一件重要的事情需要提及,如果任意一个竖栏有边框、内补丁和外补丁,我们需要针对IE/Win的盒模型Bug做一些补救,请参考Tantek Celik的Box Model Hack或Mid Pass Filter。

作为选择,如果border和padding能够被同时避免而只使用margin,那么Box Model Hack就不必要了。如果栏内的内容只是简单地定位在页面的顶部(并且是透明的),那么也可以简单地避免Box Model Hack。

无论是什么浮动了你的船

在我自己的网站上,我使用了绝对定位来创建两栏布局,但是如果你使用float属性来创建也会获得同样良好的结果(就像ALA一样)。

两种情况都使用了同样的思想方法:平铺背景图片,然后把竖栏浮动到适当的位置把假的背景栏(Faux-Column)覆盖。

结语

这是一个很简单的概念,但可以帮助减轻很多设计师在创建基于CSS的布局时经常碰到的痛苦。

感谢Jeffrey Zeldman帮忙精炼了这篇文章。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有