最窄770px最宽1024px的经典布局

 最典型实用的上中下,并且中间分三列的布局,这个例子有2个特点:

1. 中间三列效果,可以任意实现单列背景色。
2. 整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中。

IE6.0和FF1.5测试通过


Demo http://www.rexsong.com/blog/attachments/200512/29_154158_minmax_3col.htm

分析:

最外层的wrapper把所有内容都嵌套在里边,整体相对定位。max min已经很好的控制了最窄最宽值,但对IE没有作用。如果没有其他布局的穿插,这一层其实写在body内就可以,少一层嵌套。
#wrapper{ width:auto; border:1px solid #000; min-width:770px; max-width:1024px; text-align:left; margin-left:auto; margin-right:auto; position:relative;}
wrapper 下级的 outer header footer

其中header绝对定位,footer 相对定位;outer分别对左右有130px的外边距,这是兼容非IE的关键。
#outer{ margin-left:130px; margin-right:130px; background:silver; border-left:1px solid #000; border-right:1px solid #000; color: #000;}
#header{ position:absolute; top:0; left:0; width:100%; height:70px; line-height:70px; border-bottom:1px solid #000; overflow:hidden; background:#0ff; text-align:center; font-size:xx-large}
#footer { width:100%; clear:both; line-height:50px; border-top:1px solid #000; background:#ffc; color:#000; text-align:center; position:relative;}
outer 下级的 clearheader outerwrap right clearer

clearheader 用做填补header的空白,clearer 是一个常用的填充hack用法。
outerwrap 宽为什么是99%,而不是100%?因为他的上层outer有边框,100%宽再加2个边框象素就会撑大,FF有明显效果。
right 的处理很经典,IE下解析为定位,FF下则为浮动。负边距的处理也刚好使用上outer留出的空白。
#clearheader{ height:72px;}
.outerwrap { float:left; width:99%;}
#right {
  position:relative;
  width:130px; float:right; left:1px;
  margin-right:-129px;
}
* html #right { margin-right:-130px; margin-left:-3px}
.clearer{ height:1px; overflow:hidden; margin-top:-1px; clear:both;}
outerwrap 内的 centrecontent left clearer 就很简单了,思路类似上边说明。

<!--[if gte IE 5]> 指定IE5.0及版本以上浏览器有效

使用expression方法实现对IE5.0及以上版本的宽度条件控制。
body {width:expression( documentElement.clientWidth < 770 ? (documentElement.clientWidth == 0 ? (body.clientWidth < 770 ? "770" : "auto") : "770px") : "auto" );}
#wrapper {width:expression( documentElement.clientWidth > 1024 ? (documentElement.clientWidth == 0 ? (body.clientWidth >1024 ? "1024" : "auto") : "1024px") : "auto" );}
开始只想搞清楚老外是如何实现居中min max的,没想到最后是expression,太失望了,其实这里使用脚本控制更好。另外,老外原文的 Min width of 800px 是错的,CSS定义就是770px,后来截屏确认也是770px。

总的来说这是一个很复杂的布局例子,融合了很多经典用法和定义,同时很传统和实用。类似的复杂布局,四层嵌套实现对于传统布局来说还是比较有优势的。

时间: 2024-12-03 06:47:47

最窄770px最宽1024px的经典布局的相关文章

最窄770px最宽1024px的经典布局研究_CSS/HTML

最典型实用的上中下,并且中间分三列的布局,这个例子有2个特点: 1. 中间三列效果,可以任意实现单列背景色.2. 整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中.   效果浏览:http://www.rexsong.com/blog/attachments/200512/29_154158_minmax_3col.htm 分析: 最外层的wrapper把所有内容都嵌套在里边,整体相对定位.max min已经很好的控制了最窄最宽值,

网页最窄770px最宽1024px经典布局

网页 最典型实用的上中下,并且中间分三列的布局,这个例子有2个特点: 1. 中间三列效果,可以任意实现单列背景色.2. 整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中. IE6.0和FF1.5测试通过 分析: 最外层的wrapper把所有内容都嵌套在里边,整体相对定位.max min已经很好的控制了最窄最宽值,但对IE没有作用.如果没有其他布局的穿插,这一层其实写在body内就可以,少一层嵌套. #wrapper width:au

最窄770px最宽1024px经典布局

最典型实用的上中下,并且中间分三列的布局,这个例子有2个特点: 1. 中间三列效果,可以任意实现单列背景色.2. 整体最窄770px,最宽1024px,也就是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中. IE6.0和FF1.5测试通过 分析: 最外层的wrapper把所有内容都嵌套在里边,整体相对定位.max min已经很好的控制了最窄最宽值,但对IE没有作用.如果没有其他布局的穿插,这一层其实写在body内就可以,少一层嵌套. #wrapper{ width:auto

css实现非等宽图片列表的布局详解

各大seo/seo.html" target="_blank">搜索引擎的图片频道的搜索结果页,搜索出来的结果都是较零碎的图片,图片质量.尺寸都是参差不齐的,并限定了每一行的总宽度.这种非等宽的图片列表,在Google+.flickr也都有用到. 最近刚好对360搜索的图片搜索结果页进行了一次重构和改版,对于这种图片布局也花心思研究了一番,接下来说说我的一些处理思路. 非等宽的单个图片要排列到一个固定了宽度的容器中,那么这个等宽的容器就是最大的限制和障碍,开始怀念那种常

前端的小玩意(6)——使用padding的左定宽、右自适应布局

①情景: 有一父容器div,其高和宽不定,称之为P: 该父容器有两个子div,左右布局,左定宽,满高,右自适应剩余区域: 其中,定宽称之为A,变宽称之为B: A和B是等高的: P必然能容纳A和B   可能的附加条件: [1]A和B的宽高度可能不会撑满P,即上下左右都可能留有空隙,但这些空隙的宽或者高是已知的: [2]A和B之间可能有一定间隙:   备注: [1]左自适应右定宽方法同理: [2]上下布局同理:   ②方法: 原理:利用P的padding属性和A的margin属性来布局: [1]由于

SEO参考:DIV+CSS三行两列经典布局

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 这个XHTML1标准的DIV+CSS布局是著名网页设计师阿捷2004年发布在<网页设计师>上的,一个非常经典的布局,在IE.Mozilla和Opera浏览器中均可以实现居中和高度自适应. 这个XHTML1标准的DIV+CSS布局是著名网页设计师阿捷2004年发布在<网页设计师>上的,一个非常经典的布局,在IE.Mozi

DIV+CSS三行两列经典布局

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 这个XHTML1标准的DIV+CSS布局是著名网页设计师阿捷2004年发布在<网页设计师 >上的,一个非常经典的布局,在IE.Mozilla和Opera浏览器中均可以实现居中和高度自适应.完整代码如下(在原代码的基础上作了一定规范整理):           <html>   <head>   <me

Extjs2.0之横向Radio经典布局

我想大家最需要的就是这样的布局 但是找遍google,要么是太复杂在render里添加后续radio,要么是采用FieldSet方式额外加了一大框.但是我想像中需要的却是上面这种方式. 经过测试,上面这样的radio横向布局是可以做到的,关键是采用table的layout及radio行的isFormField设置为true,设置isFormField这点尤其重要,因为panel默认不是属于FormField的,因此即使设置了fieldLabel属性也不不会显示label. 生成此window的j

常用网站经典布局实例

网页布局有很多布局模式如单行一列,两行一列,三行一列,传统的三行两列布局,各种布局,今天就来一个大集合,大放送..... 单行一列 以下是引用片段: body { margin: 0px; padding: 0px; text-align: center; }  #content { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }       两行一列 以下是引用片段: body { margin: 0px;