转载:牛魔王的世界观 »谈谈ie6不支持min-height与max-height的解决方法
转载网址:http://www.niumowang.org/html-css/ie6-min-height/
手里的项目还在继续,今天正好遇到了min-height的问题,干脆在这里记录下来。我是喜欢联想的人,所以在这里又倒腾出了ie6支持max-height,以及ie6同时支持min-height与max-height的方法。(注:本文主要介绍css写法,其他的用js或者jquery的方法就很多了)
如何让ie6支持min-height
如果只是让ie6支持min-height倒也比较简单。一些朋友看过代码就能明白,主要是css hack方法,利用ie6支持或者不支持的符号来完成任务。
方法一:
<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>
方法三:(不推荐)
<style type="text/css">
.show{background:#ccc;min-height:100px;_height:expression(this.scrollHeight < 100 ? "100px" : "auto");}
</style>
<div>牛魔王的世界观测试御用文字!</div>
上面前两种方法原理都是一样的,让div块在ie6下高度固定为100px。第三种方法利用到了ie6的expression行为(主要是将css与js表达式结合起来),我是极力不推荐这种写法,expression会占用大量浏览器资源。我也曾经遇到过使用了expression导致页面很卡的现象。
如何让ie6支持max-height
一般max-height在实际应用中用到的比较少。在实战方面主要结合overflow来使用。如果让ie6支持max-height的方法同上面原理相同,加“_height:高度;”。由于浏览器会自动把超出部分的内容显示出来,所以这里如果想要达到超出部分隐藏的话可以加上“overflow:hidden;”,或者超出部分显示滚动条“overflow:auto;”
如果让ie6同时实现min-height与max-height
让ie6既支持min-height又实现max-height怎么办呢,你可能会说总不能写两个“height”吧。呵呵,是的即使写两个height浏览器也只会解析一个。
下面我结合一个案例来说明这个问题:
要求:用div+css实现,div容器内有多行内容,现在要求实现当高度小于100px的时候该容器最小高度为100px,当大于200px的时候显示下拉条。
看到这个要求有些朋友不免头大,这个东西怎么不太好实现吧。你可能会想到我前面说过的expression,在css里面计算该容器的高度。
是的,这样能够达到我们的要求。代码部分如下
overflow:auto;/*超出部分显示滚动条*/
_height: expression(
this.scrollHeight < 100 ? "100px" :
(this.scrollHeight > 200 ? "200px" : "auto");
不过按照惯例这不是高潮,呵呵,因为我上面已经说过我是极力不推崇这种方式的。既然刚才不是高潮那么我肯定会有自己的主张。具体怎么办呢?
可能是我上面说的有些误导了大家的思维,其实实现这种方式的写法比较是比较简单的。我们不一定非要采用max-height这个css样式来完成啊。我上面说的只是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">
牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>牛魔王的世界观御用测试文字!<br/>
</div>
</div>
呵呵,看到这里是否有种顿悟或者被骗的感觉呢?方法其实很简单就是添加了一个外容器,根本没有用到max-height属性。ok,说完了。不多说,主要是告诫自己以及从事此行的朋友,实现一个效果方法有很多种,很多的思路。有时候换一个角度,你会发现更精彩的部分。
转载:牛魔王的世界观 »谈谈ie6不支持min-height与max-height的解决方法的更多相关文章
- 细数IE6的一串串的恼人bug,附加解决方法!
1. li在IE中底部3像素的BUG 解决方案:在<li>上加float:left:即可解决 2. IE6中奇数宽高的BUG. 解决方案:就是将外部相对定位的div宽度改成偶数.高度也是一 ...
- sass文件转css时注释虽然支持中文,但是出现乱码的解决方法
sass文件转css时注释虽然支持中文,但是出现乱码的解决方法 Scss 注释中文报错问题(windows系统, 已解决)找到ruby的安装目录,里面也有sass模块,类似这样样的路径:F:\Prog ...
- 转载:“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
转载来自:http://www.cnblogs.com/A-Song/archive/2012/03/23/2413782.html 问题描述如下: 有 三个源文件,A.h.B.cpp.C.cpp. ...
- Android spinner默认样式不支持换行和修改字体样式的解决方法
在spinner中显示的数据过多,需要换行,而Android自身提供的android.R.layout.simple_spinner_dropdown_item样式不支持换行,因此参考android提 ...
- “无法更新EntitySet“*****”,因为它有一个DefiningQuery,而元素中没有支持当前操作的元素”问题的解决方法
百思不得其解,最后发现 1:实体中的表必须有主键(数据库中的表必须有主键),如果没有,会有这样的提示 2:主键设置好后,运行还是会出现类似问题,那就一个郁闷 1):方法一:先从EF中删除刚设置主键的模 ...
- php5.3 不支持 session_register() 此函数已启用的解决方法
php从5.2.x升级到5.3.2.出来问题了.有些原来能用的程序报错了,Deprecated: Function session_register() is deprecated php从5.2.x ...
- IE6/IE7/IE8下float:right的异常及其解决方法
1.最简单的方法就是调换顺序,将需要右浮动的元素写在前面.写成这样:<h2><a href="#">更多>></a>小标题</ ...
- 【转载】“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
c++的小细节的地方 原文地址:https://blog.csdn.net/xiaosu123/article/details/5665729 问题描述如下: 有 三个源文件,A.h.B.cpp.C. ...
- [转载]VS2005的工程用VS2010打开后,用VS2005不能打开的解决方法
首先,在“项目”菜单里,把项目属性“目标平台”改为框架2.0,保存退出. 然后,用记事本或用编辑文本文件的方式打开你的项目文件,后缀为.sln 第一行:把“Microsoft Visual Studi ...
随机推荐
- 指针与数组、大小端之 printf("%x,%x,%x\n",*(a+1),ptr1[-1],*ptr2);
在X86系统下,以下程序输出的值为多少? #include <stdio.h> #include <stdlib.h> int main(void) { ]={,,,,}; ) ...
- 学习ASP.NET的一些学习资源
ASP.NET学习相关资源 当我们在决定选择哪一个编程语言来做web开发的时候,很难选择,php.java.python这些语言是开源的,有很多的学习资源,但是当我们决定学习ASP.NET的时候,微软 ...
- cf C. Jeff and Rounding
http://codeforces.com/contest/352/problem/C 题意:给予N*2个数字,改变其中的N个向上进位,N个向下进位,使最后得到得数与原来数的差的绝对值最小 对每一个浮 ...
- logstash 发送慢页面到zabbix告警
input { file { type => "zj_frontend_access" path => ["/data01/applog_backup/zjz ...
- AzCopy – 上传/下载 Windows Azure Blob 文件
在我们收到的请求中,有一个频繁出现的请求是提供一种能在 Windows Azure Blob 存储与其本地文件系统之间轻松上传或下载文件的方法.一年半前, 我们很高兴地发布了 AzCopy, Wind ...
- 【转】 ubuntu12.04更新源
原文网址:http://blog.chinaunix.net/uid-26404477-id-3382633.html 摘 要:本文列出ubuntu 12.04 LTS更新源列表,内容为网友整理,此处 ...
- Delphi流的操作 转
一.流的概念 流简单说是建立在面向对象基础上的一种抽象的处理数据的工具,它定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员只需掌握对流进行操作,而不用关心流的另一头数据的真正流向.其实,流 ...
- jQuery旋转插件jqueryrotate 图片旋转
"jquery.rotate.min.js"是jQuery旋转rotate插件,支持Internet Explorer 6.0+ .Firefox 2.0 .Safari 3 .O ...
- NUnit - 使用感受
Nunit使用 最近项目开始大量使用Nunit, 发现Nunit还是有很多好处的. 1. 测试驱动逻辑,这样可以尽最大可能减少“修改”引入的Bug. 如果你修改了一些东西,导致Case跑不过.请检查你 ...
- poj 2376 Cleaning Shifts(贪心)
Description Farmer John <= N <= ,) cows to <= T <= ,,), the first being shift and the la ...