站内留言 会员登陆 会员注册 站长推荐: 文字广告
站内搜索: 您的位置素材在线 > 互联网络 > 技术学院 > 网页设计 > 设计原理 > 新闻内容

IE6实现min-width

2008-9-18 11:26:14  来源:顶酷手机网  作者:本站整理 【 查看评论

首先我们知道这个效果应该是一个老话题了。
今天整理文件的时候,发现自己以前的一些布局的解决方法躺在文件夹里很长时间了,翻翻老底吧
需要说明的是有幸也见到过CSSPLAY的老工程师站长

闲话少说,上源码:

触发并利用IE6-layout的怪异特性,css实现:

<style type="text/css">

.ie6-out{
       _margin-left:900px;
       _zoom:1;
}
.ie6-in{
       _position:relative;
       _float:left;
       _margin-left:-900px;
}
#min-width{
       min-width:900px;
       background:#ccc;
       line-height:200px;
       _zoom:1;
}
</style>

<div class="ie6-out">
  <div class="ie6-in">
    <div id="min-width">ie6-下,容器实现模拟min-width效果。请任意改变浏览器窗口大小,再点击按钮“查看宽度”。</div>
  </div>
</div>

css实现演示:

运行代码框
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS实现最小宽度</title>
<style type="text/css">
body{ text-align:center;}
.ie6-out{
 _margin-left:900px;
 _zoom:1;
}
.ie6-in{
 _position:relative;
 _float:left;
 _margin-left:-900px;
}
#min-width{
 min-width:900px;
 background:#ccc;
 line-height:200px;
 _zoom:1;
}
</style>
</head>
<body>
<div class="ie6-out">
  <div class="ie6-in">
    <div id="min-width">ie6-下,容器实现模拟min-width效果。请任意改变浏览器窗口大小,再点击按钮“查看宽度”。</div>
  </div>
</div>
<input name="" type="button" value="查看宽度" />
</body>
</html>
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

扩展演示:

运行代码框
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS实现最小宽度</title>
<style type="text/css">
body{ text-align:center;}
.ie6-out{
 _margin-left:900px;
 _zoom:1;
}
.ie6-in{
 _position:relative;
 _float:left;
 _margin-left:-900px;
 background:#f00;
 line-height:200px;
}
#min-width{
 min-width:900px;
 background:#ccc;
 _zoom:1;
}
</style>
</head>
<body>
<div class="ie6-out">
  <div class="ie6-in">
    aa
  </div>
</div>
<div class="ie6-out">
  <div class="ie6-in">
    aa<div id="min-width">ie6-下,容器实现模拟min-width效果。请任意改变浏览器窗口大小,再点击按钮“查看宽度”。</div>
  </div>
</div>
<input name="" type="button" value="查看宽度" />
</body>
</html>
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

CSS Expression
——相信许多人在用这个方法实现容器最小宽度时都时常会被莫名其妙的死机所困扰,最后往往无果而终。

这里特别需要指出的是两点:
1. IE6-的标准模式下和quirk模式下代表视口的元素是不一样的,前者为<html>,后者则为<body>;
2. IE6-在以上两种不同的模式下,其对包含内容溢出时的不同表现形式,从而导致了赋值判断上的死循环。解释起来有些啰嗦,自己实践一下吧。

CSS Expression实现最小宽度源码:

<style type="text/css">
body{ text-align:center;}
#min-width{
       min-width:900px;
       _width:expression((document.documentElement.clientWidth||document.body.clientWidth)<900?"900px":"");
       line-height:200px;
       background:#ccc;
}
</style>
<div id="min-width">ie6-下,容器实现模拟min-width效果。请任意改变浏览器窗口大小,再点击按钮“查看宽度”。</div>

演示:

运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS Expression实现最小宽度</title>
<style type="text/css">
body{ text-align:center;}
#min-width{
 min-width:900px;
 _width:expression((document.documentElement.clientWidth||document.body.clientWidth)<900?"900px":"");
 line-height:200px;
 background:#ccc;
 _zoom: /* 触发layout才能查看clientWidth,可省略掉 */
}
</style>
</head>
<body>
<div id="min-width">ie6-下,容器实现模拟min-width效果。请任意改变浏览器窗口大小,再点击按钮“查看宽度”。</div>
<input name="" type="button" value="查看宽度" />
</body>
</html>
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

以上两种解决方法在IE6-的标准模式下和quirk模式下都可实现,IE Expression在这个应用中也未发现CPU效率问题

文字链接广告
(评论内容只代表网友观点,与本站立场无关!)[ 全部评论 ]

网友评论:

    用户名:

    评   分:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

                 (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告服务 - 网站地图 - 下载声明 - 友情链接 -