频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

IE中显示min-width效果的解决方案

来源: 作者: 出处:巧巧读书 2007-12-23 进入讨论组
谢 谢 收 藏 http://www.qqread.com/other-webtool/v274664.html    在用css布局中,时常用到min-width这个参数,而IE对此无法识别,那么,如何使IE也能显示同样的效果呢?这几天,菜鸟老乌鸦正碰到了这个麻烦事儿,于是google了一大堆资料,找到了个感觉比较简单的方法,总结一下写在这里,与鸟们分享。
如有错误、疏漏之处,还请不吝赐教。
分两种情况来讲。

一、非常方便的解决方法。
我们要让一个元素在窗口最大化时宽度为100%,当缩小窗口时,要求页面最小宽度为760px,在css中,一般我们会这样写:
CODE#content {
width:100%;
min-width: 760px;
}

非常好,在operafirefox下显示很正常。但在IE下没有效果。解决方法只要在后面加一句就行了,如下:
CODE#content {
width:100%;
min-width: 760px;
width: expression(document.body.clientWidth < 760? "760px": "100%" );
}

二、应用于body
上面的解决方法并不能应用于body元素,当我们需要对body也进行此设置时,用js来解决是比较好的。为了可爱的firofox、opera等,css里这一句还是要写上的:
CODEbody {
margin: 0;
padding: 0;
width:100%
min-width: 760px;
}

然后在页面中再调用一个js,代码如下:
CODEvar d = document;
var winIE = (navigator.userAgent.indexOf("Opera")==-1 && (d.getElementById && &nbsp;d.documentElement.behaviorUrns)) &nbsp;? true : false;
function bodySize(){
if(winIE && d.documentElement.clientWidth) {
&nbsp;sObj = d.getElementsByTagName("body")[0].style;
&nbsp;sObj.width = (d.documentElement.clientWidth<760) ? "760px" : "100%";
}
}
function init(){
if(winIE) { bodySize(); }
}
onload = init;
if(winIE) { onresize = bodySize; } 更多文章 更多内容请看数字化校园网解决方案大型实用解决方案专题应用解决方案专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:ASP下载系统防盗链三种方法

较新的文章:Iframe和FRAME
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章