主页 > 知识库 > 让IE6支持min-width最小宽度

让IE6支持min-width最小宽度

热门标签:铁路电话系统 检查注册表项 银行业务 呼叫中心市场需求 网站文章发布 智能手机 服务器配置 美图手机

可浏览器使用率占最高的ie6偏偏不支持,虽然后来出场的ie7已经开始支持此属性。不过就用户体验的角度来说多浏览器支持也是很重要的,更何况就目前来说ie6的占有率还是最高的。
特别是在流动布局的使用下,特别会用到min-width、min-height、max-width、max-height这些属性,以下是一种非常方便就可以实现在ie6显示min-width、min-height、max-width、max-height同等效果的方法,在此与大家一同分享。
闲话少说,上源码:
触发并利用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实现演示:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

扩展演示:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

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>

演示:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

以上两种解决方法在IE6-的标准模式下和quirk模式下都可实现,IE Expression在这个应用中也未发现CPU效率问题。
可浏览器使用率占最高的ie6偏偏不支持,虽然后来出场的ie7已经开始支持此属性。不过就用户体验的角度来说多浏览器支持也是很重要的,更何况就目前来说ie6的占有率还是最高的。
特别是在流动布局的使用下,特别会用到min-width、min-height、max-width、max-height这些属性,以下是一种非常方便就可以实现在ie6显示min-width、min-height、max-width、max-height同等效果的方法,在此与大家一同分享。
min-width:700px;
width:expression((documentElement.clientWidth 700) ? "700px" : "auto" );

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

您可能感兴趣的文章:
  • 让IE6支持min-width和max-width的方法

标签:长治 河南 新疆 沈阳 乐山 上海 红河 沧州

巨人网络通讯声明:本文标题《让IE6支持min-width最小宽度》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266