`
andrew1024
  • 浏览: 71147 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决IE7不能自适应高度 及各种bug解决方法 div+css

阅读更多
解决IE7不能自适应高度 及各种bug解决方法 div+css

解决IE7不能自适应高度

#content{
min-height:500px;
height:auto;/*IE7*/
_height:500px;/*IE6*/
display:table;/*firefox,opera*/
}

--------------以下搜集自互联网,好文讲解的很详细,读后受益匪浅------------------

bug有三:

   1. 无论是“宽度”的内容过长,还是“高度”的内容过长,都会引发此bug。
   2. 无论是文字、图片,还是任意有宽度和高度概念的“可见元素”,它们的“过宽”和“过高”都会引发此bug。
   3. 任意有宽度和高度概念的“可见元素”,它们在默认状态下的“overflow”样式的值都是“Visible”(即使你没有设置这个样式)。

为了达到最终想要的结果,可能需要使用不推荐使用的措施——css hack。
如何解决“横向撑开”问题
用“word-wrap: break-word”解决

导致布局混乱的主要原因,是IE6对overflow的visible的错误解释,才导致宽度被“撑开”才造成的。所以,我们必须采取措施,让IE6中容器不能那么“放纵孩子”才可以。方法就是使用“word-wrap: break-word”样式(IE特有,FireFox不起任何作用),强制要求容器内的内容不允许“撑开”父容器。下面的示例可能有助于理解。
用“overflow: hidden”解决

显然,用“word-wrap: break-word”又导致了IE(IE6和IE7)和FireFox的显示结果新的不一致。那还有没有其他的办法呢?“擒贼先擒王”,既然是 “overflow: visible”导致的bug,那直接改变“overflow”的值不就可以了吗?所以,使用“overflow: hidden”便能让IE6、IE7和FireFox显示一直。下面的这个示例,可能会有助于你的理解——

如何让“很长度文字”换行显示呢?其实在前面我们已经使用到了,那就是“word-wrap: break-word”。虽然它是IE的特有样式,但是足以先解决IE6和IE7中的问题。但是FireFox中没有这个样式,那FireFox下如何使 “很长文字”自动换行显示呢?我们遗憾的发现FireFox并没有提供类似的样式供我们使用,目前唯一的解决方案是利用JavaScript实现。原理很简单,就是根据宽度,将文本截取成多段,在每段后面强制加上换行符。下面的实现示例可能会有助于你的理解——
<!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=utf-8" />
    <meta name="Keywords" content="博客园,实例代码" />
    <meta name="Description" content="这是一个简单YES!B/S!文章示例页面/>
    <title>YES!B/S!文章示例页面</title>
    <style type="text/css">
        #div1{
        border:1px solid red;
        width:50px;
        word-wrap: break-word;
        }
    </style>
</head>
<body>

<div id="div1">
alonglonglonglonglonglonglonglonglongword from http://justinyoung.cnblogs.com/

</div>


<script type="text/javascript">
    // <![CDATA[
    if(document.getElementById  &&  !document.all)  wordWarp4ff(6)/*数值6根据宽度需要发生变化*/
    function wordWarp4ff(intLen){
    var obj=document.getElementById("div1");
    var strContent=obj.innerHTML; 
    var strTemp="";
    while(strContent.length>intLen){
    strTemp+=strContent.substr(0,intLen)+" "; 
    strContent=strContent.substr(intLen,strContent.length); 
    }
    strTemp+=" "+strContent;
    obj.innerHTML=strTemp;
    }
    // ]]>
</script>
</body>
</html>

    上面解决方法,只是“横向”的、宽度的问题,其实“‘overflow:visible’IE6渲染bug”,同样也会引起纵向的、高度方面的页面布局混乱。解决“纵向撑开bug”和解决“横向撑开bug”需要采用完全不同的解决方案。但是,相比“纵向撑开bug”解决方案,“横向撑开bug”解决方案却简单很多——只要我们让IE7和FireFox,也能像IE6中那样根据内容,自适应高度即可。如何才能让容器在IE7和FireFox中能够自适应高度呢?其实很简单,也是IE7的重要改进之一,使用“min-height”样式。虽然IE7中已经支持“min-height/min-width” 和"max-height/max-width"样式。但是IE6却不认识这些"min-"、"max-"开头的样式,所以,我们还需要使用一个css hack为IE6设置一个“height”,只让IE6认识,IE7和FireFox都不认识。
分享到:
评论

相关推荐

    变幻之美DIV+CSS

    自适应高度的滑动背景图片及背景图片设置技巧; ?如何解决IE6双倍边距bug; ?认识IE6、IE7特定选择器; ?margin-bottom失效情况的解决; ?将icon图标集成于一个图片文件; ?设置链接变换小图标的样式; ?一张...

    自己整理div+css网页标准版式布局(50种布局方式)

    大四了,把之前学的些东西整理整理分享给大家,适合老师网页设计教材及初学者,里面包含了以下内容: 1、固定宽度CSS版式布局 2、自适应(弹性)宽度CSS版式布局 ... IE6双倍边距bug 4、盒模型层次平面示意图和3D示意图

    《CSS全程指南》随书光盘

    内容简介 本书将最有用的CSS技术汇总在一起,在介绍基本的CSS概念和最佳...13.2.7 IE6 Guillotine Bug(断头台) 310 13.2.8 列表背景消失Bug 312 13.2.9 针对IE7.0的hack 313 13.2.10 正确看待IE 314 13.3 小结 315

    46种常见的浏览器兼容性问题大汇总

    2. const问题 3 3. event.x与event.y问题 3 4. window.location.href问题 3 5. frame问题 3 ...25. 属性选择器(这个不能算是兼容,是隐藏css的一个bug) 3 26. 为什么FF下文本无法撑开容器的高度 3

    嵩嵩图片管理系统 v8.0

    2013-08-04 更新修正图片扩展名含有大写字母时,上传不成功的问题修正分类移动功能的一点bug《嵩嵩图片管理系统》简称"SsPic",采用ASP+ACCESS+DIV+CSS+AJAX开发,可配置在支持ASP环境的任意主机。  1.安装环境 嵩...

    魔众课程管理系统 v1.2.0

    可运行在Linux、Windows、MacOSX、Solaris等各种平台上,系统基于Laravel,支持自定义伪静态,前台模板采用DIV+CSS设计,后台界面设计简洁明了,功能简单易具有良好的用户体验,稳定性好、扩展性及安全性强。...

    商用版本文本编辑器DotNetTextBoxV6.0.8Source 源码

    3)修正保存远和图片到本地功能在IE6及IE7的提交BUG。 4)修正上传图片界面中对齐方式不能生效的BUG! 2010/01/15 Version 6.1.4 For VS2005/2008 Updates: 1)加入保存远程图片到本地的功能图标到菜单栏,配置代码为...

    DotNetTextBox所见即所得编辑器控件 v3.3.1

    4) 使用帮助.CHM里的常见问题增加对应用全局样式后不能使用功能页面的解决方法。 5) 优化了控件部分户端代码。 6) 更新了部分多语言的翻译文字。 &lt;br&gt;2007/8/10 Version 3.2.8 Free &lt;br&gt;Updates:...

    ExtAspNet_v2.3.2_dll

    -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化...

    浏览器兼容

    常用多浏览器不容兼的描述及解决方法 包含:CSS Hack规则 、兼容的具体案例: IE6下margin双倍边距Bug的处理办法 清除浮动 高度随内容自伸长 单行文字居中与字体样式问题 div层中子层的居底部对齐问题 iframe...

    DotNetTextBox V6.0.10 商业版 下载 (已知最新)

    10)所有弹出的模态窗口现在可根据内容自动调整高度及宽度,杜绝旧版本在一些浏览器下显示窗口内容不完全的BUG。 11)导入Word功能升级到V2.0,修正导入后有些样式导入不完全的问题,同时优化了导入word文档时的性能! ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化...

    响应式 资讯网站源码_WORD教程网站模板.zip

    完美兼容IE7 、Firefox、Chrome、360浏览器等;主流浏览器; 页面简洁简单,容易管理,DEDE内核都可以使用;附带测试数据! 模板特点: 1.一款利于SEO的模板,手工CSS DIV,图片ALT,H系列标签已合理运用。 2.同步...

    CSS背景图拉伸效果兼容FF/Chrome/IE等主流浏览器(亲测)

    实际上有多个这样的按钮,而且DIV中的文字,也就是按钮上要显示的文字内容和个数都不定,这种情况下就需要用背景图片拉伸效果来处理了,只需做一个按钮图片,作为DIV的背景图时随着DIV的宽度或高度自适应就OK了。...

    企业SEO站 v17.1 无组件生成HTML.rar

    7、完美解决、修正了IE6、7、8前台页面。 8、后台编辑器的兼容性IE6、7、8 9、幻灯片、公告自由添加编辑 10、新增关键词设置,自动替换功能,减少手动输入节省时间,修正关键词排序。 11、编辑器兼容更多浏览器...

    企业SEO站 v17.0 无组件生成HTML.rar

    7、完美解决、修正了IE6、7、8前台页面。 8、后台编辑器的兼容性IE6、7、8 9、幻灯片、公告自由添加编辑 10、新增关键词设置,自动替换功能,减少手动输入节省时间,修正关键词排序。 11、编辑器兼容更多浏览器...

    企业SEO站 v17.2 无组件生成HTML.rar

    1、完美解决、修正了IE6、7、8前台页面。 2、后台编辑器的兼容性IE6、7、8 3、幻灯片、公告自由添加编辑 4、新增关键词设置,自动替换功能,减少手动输入节省时间,修正关键词排序。 5、编辑器兼容更多浏览器IE...

Global site tag (gtag.js) - Google Analytics