让IE6支持min-width最小宽度

2022-04-15 0 716

可浏览器使用率占最高的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实现演示:

<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” onclick=”alert(‘容器宽度=’+document.getElementById(‘min-width’).clientWidth+’px’+’\n\n’+’视口宽度=’+(document.documentElement.clientWidth||document.body.clientWidth)+’px’);” value=”查看宽度” /> </body> </html>

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

扩展演示:

<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” onclick=”alert(‘容器宽度=’+document.getElementById(‘min-width’).clientWidth+’px’+’\n\n’+’视口宽度=’+(document.documentElement.clientWidth||document.body.clientWidth)+’px’);” value=”查看宽度” /> </body> </html>

[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>

演示:

<!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” onClick=”alert(‘容器宽度=’+document.getElementById(‘min-width’).clientWidth+’px’+’\n\n’+’视口宽度=’+(document.documentElement.clientWidth||document.body.clientWidth)+’px’);” value=”查看宽度” /> </body> </html>

[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” );

<!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>NICE源码www.jb51.net</title> <style type=”text/css”> <!– *{ padding:0; margin:0; } body{ min-width:700px; width:expression((documentElement.clientWidth < 700) ? “700px” : “auto” ); } –> </style> </head> <body> 把浏览器缩小看看! </body> </html>

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

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 CSS/HTML 让IE6支持min-width最小宽度 https://www.niceym.com/16885.html