ie6不支持css max-heigth 最大高度解决办法集

主要是css hack方法,利用ie6支持或者不支持的符号来完成任务。

你可能会想到我前面说过的expression,在css里面计算该容器的高度。

是的,这样能够达到我们的要求。代码部分如下

 代码如下 复制代码

overflow:auto;/*超出部分显示滚动条*/
_height: expression(
this.scrollHeight < 100 ? "100px" :
(this.scrollHeight > 200 ? "200px" : "auto");

我上面说的只是ie6实现它。废话不多说,看代码

 代码如下 复制代码

<style type="text/css">
.contain{height:200px;overflow:auto;background:#eee;}
.post{_height:100px;min-height:100px;background:#ccc;}
</style>
<div class="contain">
<div class="post">
今天正好遇到了min-height的问题,干脆在这里记录下来。我是喜欢联想的人,所以在这里又倒腾出了ie6支持max-height,以及ie6同时支持min-height与max-height的方法
</div>
</div>

我打算使用css自带的max- height标签,但是火狐支持最大高度的写法,而ie6、Chrome不支持该写法,害得我马上到网上恶补css bug写法。最后找到一行代码,只是代码写的是最大宽度的写法:

 代码如下 复制代码

.a{width:expression(this.clientWidth > 950?"950px": "auto" ); }

在我修改为高度后,又出现了问题。弄了半天,原来是我的this.后的代码写错。晕了,正确的最大高度代码写法:

 代码如下 复制代码

.a{ overflow: auto; max-height:84px; height: expression_r( this.scrollHeight > 83 ? "84px" : "auto" );}

这样写的话,在ie6、ie7、ff下可以得到想要的效果,而在Chrome谷歌浏览器下不支持该写法。因此我又去网上找了一下Chrome的bug。发现Chrome的bug一般可以用-webkit-来解决。因此修改之后的写法为:

 代码如下 复制代码

.a ul{ overflow: auto; max-height:84px; -webkit-max-height:84px; height: expression_r( this.scrollHeight > 83? "84px" : "auto" );}

我的html代码如 下:switch090405_cont2为div的外观设置

 代码如下 复制代码

<div class="switch090405_cont2 a">
      <ul>
           <li>列表内容</li>
           <li>列表内容</li>
           <li>列表内容</li>
           <li>列表内容</li>
      </ul>
</div>

----------------------------------------------------------

 代码如下 复制代码

#test { min-height:100px; background:#BBB; _height:100px; overflow: visible; }

#page{

background:#F00;

min-height:500px;
height:auto !important;
height:500px;

overflow:visible;

}

就是这句overflow:visible使IE们能够当作height:auto来处理

jquery的实现方法

上面的代码还没有加入IE6的判断,完整代码如下:

 代码如下 复制代码
if($.browser.msie&amp;&amp;
($.browser.version === "6.0")){
$(".entry").each(function(){
if($(this)[0].scrollHeight>500)
$(this).css({"height":"500px","overflow":"hidden"});
});}

当然你也可以通过css表达式来实现IE6支持max-height属性

 代码如下 复制代码

.entry{

height: expression( this.scrollHeight > 500 ? "500px" : "auto" );

 /* sets max-height for IE */
}

下面简单的介绍一下min-height实现方法
方法一:

 代码如下 复制代码

<style type="text/css">
.show{background:#ccc;min-height:100px;_height:100px;}
</style>
<div class="show">牛魔王的世界观测试御用文字!</div>

方法二:

 代码如下 复制代码

<style type="text/css">
.show{background:#ccc;height:auto!important;height:100px;min-height:100px; }
</style>
<div>牛魔王的世界观测试御用文字!</div>

最后也是一个常用的办法就是

1、IE6不识别max-height:500px和height:auto !important这两句,超过500px(也就是我们所希望的最大高度)后的内容将自动以藏;

不过我产推荐这种办法哦,会影响网站的美观的。

时间: 2024-10-03 09:02:22

ie6不支持css max-heigth 最大高度解决办法集的相关文章

Chrome谷歌浏览器下不支持css字体小于12px的解决办法

先来看下 ie.火狐.谷歌浏览器下各个字体显示情况 ie下: 火狐下: 谷歌下: 从上面的图可以很明显看出谷歌下 css设置字体大小为12px及以下时,显示都是一样大小,都是默认12px; 那么网上一直有一个方法就是给当前样式添加谷歌私有属性:-webkit-text-size-adjust:none; 可是我进行验证后发现,在谷歌现在的新版本里已经无效.那么我们应该如何设置谷歌下的字体呢? 我们可以使用到 css3里的一个属性:transform:scale() 属性介绍可以戳这里:http:

英文的服务器不支持中文及中文数据库的解决办法

英文的服务器不支持中文及中文数据库的解决办法 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configuration> <globalization requestencoding="utf-8" responseencoding="utf-8" /> </

解决IE6不支持Css FIXED实现详解

例1. 下面这个方法可以完美的实现ie6里支持fixed   代码:    代码如下 复制代码 <!DOCTYPE html>  <html>  <head>  <style type="text/css">  *{padding:0;margin:0;}   html,body{ _height:100%; _overflow:hidden;}   body{ _overflow:auto;}   #header,#footer{  

IE6下DIV无法实现height:1px高度问题解决办法

下午写页面遇到在ie6下无法实现height:1px,之前搞忘了,百度个收集几个解决方法,以供再次查阅. IE6.0下DIV不能实现1px高度的几种解决方法 在设计网页时,有时我们需要一个1px高度的细线,但IE6有个bug,高度为1px的DIV在IE6里不管用.这是因为IE6中的DIV默认有个最小字体高度,DIV的最小高度就是这个高度,即使设置了height:1px,DIV显示出来的高度也不是1像素. 解决方法有如下几种: 1,网上都说多加一个font-size=0px:的属性可以实现. 以下

IE6下select z-index无效div被遮挡解决办法

解决方法之一:Iframe包裹select元素 使用iframe包住select,这样iframe有z-index,只要在div上设置的z-index比iframe的高即可~这种方法有一定的局限性,不可能每个select都要加个iframe吧?所以不推荐!代码如下:  代码如下 复制代码 <iframe style="z-index:1;position: absolute; "><!-- 用iframe 解决此bug -->  <select name=

ie6 下select遮罩住弹出层解决办法

使用JS做DIV弹出层时,一般地在IE下是无法遮罩ActiveX控件的,同时在IE6下Select也遮罩不住.在IE中ActiveX默认永远显示在最顶层,因此通过设置Style的Z-Index属性也无法改变遮罩关系的.在信息系统软件中,许多场合由于性能.操作等原因,往往会使用ActiveX代替Html来完成功能  代码如下 复制代码 var sd = XX.style.display; XX.style.display = "none";  ... //关闭弹出层后显示 XX.styl

ie6下png图片背景不透明的解决办法使用js实现_javascript技巧

我们时常在使用png图片的时候,在ie6下发生背景不透明的问题,下面给大家介绍下一个js解决的方式. 首先我们要用到一个js,代码如下: 复制代码 代码如下: /** * DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>. * Author: Drew Diller * Email: drew.diller@gmail.com * URL: http://www.diller

css透明背景不兼容解决办法详解

css透明是一个技术活,因为这里面涉及到了IE8及以下版本不兼容opacity这个css3属性,而filter:alpha(opacity=80)这个值则是不兼容IE6.网上比较流行的透明css是这样子写的.  代码如下 复制代码 .transparent_class { /* IE 5-7 */ filter: alpha(opacity=50); /* Netscape */ -moz-opacity: 0.5; /* Safari 1.x */ -khtml-opacity: 0.5; /

让您头痛的DIV+CSS网页错位诊断及解决办法

常见DIV+CSS网页错位问题 1.网页在某版本的浏览器中显示正常,不同其它版本浏览器显示错位不正常 2.本来是左右结构网页布局,但是左右成上下结构错位 3.文字列表型字行在不同浏览器中高度不一 等等... 解决CSS网页错位总体思路 1.遇到在不同版本浏览器中显示高矮不一可以使用CSS hack来解决 2.如果左右结构网页布局成了上下结构布局.解决方法是检查float浮动是否设置好;检查左右宽度是否计算正确,是否是设置左右宽度大于了总宽度导致的上下结构;div开始与div结束包含是否正确,可以