转载:牛魔王的世界观 »谈谈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 ...
随机推荐
- python学习第十一天 -- 函数式编程
在介绍函数式编程之前,先介绍几个概念性的东西. 什么是函数式编程? 函数式编程的特点: 1.把计算视为函数而非指令; 2.纯函数式编程:不需要变量,没有副作用,测试简单; 3.支持高阶函数,代码简洁. ...
- uC/OS-II中的中断(转)
中断是指在程序运行过程中,应内部或外部异步事件的请求中止当前任务,而去处理异步事件所要求的任务的过程. 中断服务函数(ISR)是应中断请求而运行的程序. 中断向量就是中断服务函数(ISR)的入口地址, ...
- jQuery的Autocomplete插件的远程url取json数据的问题
关于远程返回的json数据的展示,以前一样的代码,如果是本地写好的json串数据,插件显示就没有问题,一旦换成ulr方式读取一样的数据,插件就不能正常显示问题了. 今天偶然搜索资料找到一篇csdn上有 ...
- java实现双向链表
PS:双向链表(每个节点含有指向前一个节点的前驱与后一个节点的后继) public class DoublyLinkedList { static class Node { private Objec ...
- ESM CORR
http://infosecnirvana.com/arcsight-corr-install/ http://www.softpanorama.org/Admin/Event_correlation ...
- cf B. The Fibonacci Segment
http://codeforces.com/contest/365/problem/B #include <cstdio> #include <cstring> #includ ...
- Unity中Mecanim工作流
Mecanim工作流可以被分解为3个主要阶段:1.资源的准备和导入这一阶段由美术师或动画师通过第三方工具来完成,例如Max或Maya.2.角色的建立主要有以下两种方式1)人形角色的建立.Mecanim ...
- 减少芯片失效:芯片焊接(die Attach)工艺优化
在器件的生产过程中,芯片焊接是封装过程中的重点控制工序.此工艺的目的是将芯片通过融化的合金焊料粘结在引线框架上,使芯片的集电极与引线框架的散热片形成良好的欧姆接触和散热通路.由于固体表面的复杂性和粘结 ...
- url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介 2014年10月12日 16806次浏览 引子 浏览器URl地址,上网一定会用到,但是浏 ...
- Linux企业级项目实践之网络爬虫(21)——扩展为多任务爬虫
高效的网络爬虫是搜索引擎的重要基础.采用多任务并发执行,实现类似于CPU的流水线(pipeline)运行方式,可极大地提高网络和计算资源的利用率等性能. #include "threads. ...