【问题标题】:Is there any way other than javascript to fix IE 6 bugs?除了 javascript 之外还有什么方法可以修复 IE 6 的错误吗?
【发布时间】:2010-11-04 16:27:12
【问题描述】:

对于 IE 6,我们作为设计师有很多错误。

不正确的盒子模型等。

我已经通过 JavaScript 搜索修复并找到了

[链接文本][1] IE7.js IE7 是一个 JavaScript 库,用于使 Microsoft Internet Explorer 的行为类似于符合标准的浏览器。它修复了许多 HTML 和 CSS 问题,并使透明 PNG 在 IE5 和 IE6 下正常工作。

但是除了通过 css 实现的 javascript 之外,我们是否还有其他真正的生命保护程序。

【问题讨论】:

  • IE6 没有错误的盒子模型,除非你有错误的文档类型。

标签: css internet-explorer


【解决方案1】:

用 CSS 处理 IE6 错误的方法?当然。

见:http://www.quirksmode.org/css/condcom.html 对于条件 cmets

还有其他方法,例如在某些 CSS 属性中添加一些特定字符,这些字符在 某些 浏览器中会被忽略,而在其他浏览器中则不会。

但是,在某些情况下,网页设计师在使用这些时应该非常谨慎。

【讨论】:

    【解决方案2】:

    另一种选择是生活在 IE 6 的错误世界中,并设计您的页面以使其看起来正确。根据您的设计,您可以为您的 IE6 客户端提供不同的 css,甚至在必要时提供不同的 html。在某些情况下,您可以使用一个对 IE6 客户端具有不同含义的 CSS 文件,但这种技术对于 IE7 和 8 来说是有问题的。

    【讨论】:

      【解决方案3】:

      这个链接也很方便

      How do you deal with Internet Explorer?

      我从来不知道 - 谢谢 svinto "IE6 没有错误的盒子模型,除非你有错误的文档类型。- svinto"

      【讨论】:

        【解决方案4】:

        有一些简单的样式表技巧可以修改各种 Internet Explorer 版本中的表示来解决您的 CSS 问题。比如这三个:

        IE4、IE5、IE5.5 的简化盒模型破解:

        div.values { margin: 10px; m\argin: 20px; }
        

        适用于 IE4、IE5、IE5.5 和 IE6 的明星 html hack:

        * html div.values { margin: 5px; }
        

        为 IE7 加注第一个孩子+html hack:

        *:first-child+html div.values { margin: 5px; }
        

        PNG 透明度问题可以通过以下解决方案来解决:

        <div style="width:50px;height:50px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/logo/logo.png');">
           <img src="/images/logo/logo.png" height="50" width="50" alt="" style="filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" />
        </div>
        

        【讨论】:

          【解决方案5】:

          到目前为止的信息很好,但需要注意的一点是 IE7.js 并不能在所有情况下都修复 png(至少我最后一次查看)。例如,您将无法平铺具有透明度的背景图像。

          对于 DXImageTransform,您可能会发现当它应用于包含链接的元素时,这些链接不再是“可点击的”。您有时可以通过为应用了变换的父元素提供静态定位并定位子锚元素来解决此问题,例如,

          h2{
          position:static;
          zoom:1;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/images/mypng.png", sizingMethod="scale");
          }
          h2 a{
          position:relative;
          }
          <h2><a href="" >a link!</a></h2>
          

          如果您必须做这种垃圾,请将其放在单独的样式表中,并使用条件 cmets 控制加载。如果设计有任何复杂性,请尽量不要支持 ie6 或

          【讨论】:

            【解决方案6】:

            为什么不试试 FireBug Light for IE?它不如 FireFox FireBug 强大,但很有帮助

            【讨论】:

              【解决方案7】:

              使用条件 cmets 或 CSS 选择器技巧可以解决 CSS 中的许多错误。但是有一些错误是 CSS hacks 无法单独处理的,例如 IE6 的 .multiple.class.selector.bug

              【讨论】:

                【解决方案8】:

                还有另一个针对 IE6 样式的快速而肮脏的 hack 例如

                您可以将 CSS 定义为;

                .divTitle { 填充:5px; 宽度:600px; _宽度:590px; }

                所有其他浏览器选择 600px 作为宽度值,IE6 覆盖它并占用 590px;

                我也在 IE7 和 FF 中测试过。

                您可能还想查看此链接; link text

                【讨论】:

                  猜你喜欢
                  • 2019-05-28
                  • 2015-01-14
                  • 1970-01-01
                  • 2018-03-01
                  • 1970-01-01
                  • 2014-01-31
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多