百度
360搜索
搜狗搜索

在IE6-的标准模式下和quirk模式下实现min-width详细介绍

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

源码:

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

代码如下:

<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="//www.jb51.net/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>CSS实现最小<span class="VffmFCWX">XRD<a href="http:///cms/discuz/" title="dz" target="_blank">dz</a>T</span>宽度</title> <style type="text/css"> body{ text-align:center;} .ie6-out{ _margin-left:900px; _zoom:1; } .ie6-in{ _position:relative; <i class="VOqzl"><a href="http://" title="编程客栈" target="_blank">编程客栈</a></i>_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 全选 注:如需引入外部需刷新才能执行]

CSS Expression

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

这里特别需要指出的是两点:

1. IE6-的标准模式下和quirk模式下代表视口的元素是不一样的,前者为<>,后者则为<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{ mi<em class="TpohOFOn">http://</em>n-width:900px; _width:expression((document.documentElement.clientWidth||documen<em class="EACsg"><a href="http:///jiaoben/python/" title="python">python</a></em>t.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-的标准模式下和quir
k模式下都可实现,IE Expression在这个中也未发现CPU效率问题。

本文标题: 在IE6-的标准模式下和quirk模式下实现min-width ,

网站数据信息

"在IE6-的标准模式下和quirk模式下实现min-width"浏览人数已经达到48次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:在IE6-的标准模式下和quirk模式下实现min-width的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!