视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
圣杯布局_html/css
2020-11-27 16:05:55 责编:小采
文档

圣杯布局是一种经典布局,还有一种双飞翼布局,这两种布局都是需要我们掌握的。

圣杯布局它的目标是左右两栏定宽,中间那一行流式。首先是html代码(为了简便处理这里就用位置命名ID,实际操作上还是使用语义化的词命名ID):

 

  一、圣杯布局需要比较多的数学计算,这里我设left的宽度为X,right的宽度为Y。这里先不考虑padding和margin。

  第一步,设置container的padding-left为left的宽度,padding-right为right的宽度。(图片来自 a list apart,假设了left宽为200px,right宽为150px)

#container{ padding-left:Xpx; padding-right:Ypx;}

  第二步,将每一列都设定好宽度。

  

#container .column{ float:left;}#center{ width:100%;}#left{ width:Xpx;}#right{ width:Ypx;}#footer{ clear:both;}

  

  第三步,设置负边距,把left放到应该到的位置上,就是center的左边。

#left{ width:Xpx; margin-left:-100%;}

第四步,使用相对定位,跟它自己的位置相距离它的宽,将left层移到padding-left的位置那边。

#container .column{ float:left; position:relative;}#left{ width:Xpx; margin-left:-100%; right:Xpx;} 

  第五步,把right层移到padding-right的那个位置上

  

#right{ width:Ypx; margin-right:-Ypx;}

  最后一步,可用性的修改。由于中间center层是流式的,当窗口大小缩小到X+Y的时候,center就没有了,所以应该给#container设置一个最小宽度

body{ min-width:(2X+Y)px;}

接着就是修改IE6以下的bug了,margin负值在IE6上会失效把left层弄到很远的地方,需要把它拉回来

* html #left { left: Ypx;}

转自:http://blog.csdn.net/cui_angel/article/details/83070

下载本文
显示全文
专题