作家
登录

IE6实现min-width

作者: 来源:www.28hudong.com 2012-11-19 14:05:04 阅读 我要评论

首先我们知道这个效果应该是一个老话题了。今天整理文件的时候,发现自己以前的一些布局的解决方法躺在文件夹里很长时间了,翻翻老底吧 需要说明的是有幸也见到过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" onclick="alert('容器宽度=' document.getElementById('min-width').clientWidth 'px' 'nn' '视口宽度=' (document.documentElement.clientWidth||document.body.clientWidth) 'px');" 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" onclick="alert('容器宽度=' document.getElementById('min-width').clientWidth 'px' 'nn' '视口宽度=' (document.documentElement.clientWidth||document.body.clientWidth) 'px');" 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" onClick="alert('容器宽度=' document.getElementById('min-width').clientWidth 'px' 'nn' '视口宽度=' (document.documentElement.clientWidth||document.body.clientWidth) 'px');" value="查看宽度" /> </body> </html> [Ctrl A 全部选择 提示:你可先修改部分代码,再按运行] 以上两种解决方法在IE6-的标准模式下和quirk模式下都可实现,IE Expression在这个应用中也未发现CPU效率问题。

  推荐阅读

  标记语言——学完HTML后该学什么?

点击这里返回脚本之家 HTML教程 栏目.想浏览CSS教程请点这里。 上文:标记语言——为指定样式。 Chapter 16 下一步 现在你知道了如何使用标准改进你的网站了,要记住学习是永无止境的.方法和技术>>>详细阅读


本文标题:IE6实现min-width

地址:http://www.17bianji.com/kaifa2/XML/15960.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)