【问题标题】:IE7 position absolute issueIE7位置绝对问题
【发布时间】:2013-09-18 05:35:02
【问题描述】:

您好,我在 IE 10 兼容性视图中遇到了一个网站问题(在 IE7 视图中也是同样的问题)。最初我在侧边栏后面有一个名为 .info-bg 的背景 div,它假设隐藏在侧边栏 .info-area 后面,使用位置:绝对。但是,在 IE7 中,背景似乎没有隐藏。让它隐藏的唯一方法是使用位置:静态,它会留下一个空白点。 让背景完全隐藏(如不显示)不是一个选项,因为当我向下滚动时,右侧会加载更多内容。其中,没有 .info-bg 只会在左侧返回一个空格。 Live Site Link

【问题讨论】:

    标签: css internet-explorer-7


    【解决方案1】:

    maikelsabido 的回答是有效的,但只涵盖了问题的一半。当它呈现为 IE7 时,支持 IE10 是没有意义的。很少有人这样做(我的统计数据基于 JavaScript/DOM 对象检测,而不是用户代理,因此非常可靠,如果您尝试强制覆盖呈现模式,我的网站会触发错误 9999)所以不要打扰 IE10呈现为 IE7。但是要测试 IE7,您应该在虚拟机中保留一份 XP。

    话虽如此,虽然微软做了一个非常小的更新来清理 IE7 中的内容,但它仍然存在许多问题。您需要使用 Internet Explorer 条件注释样式表,我有一个完整的教程,介绍如何在我的网站上实现...

    http://www.jabcreations.com/web/css/ieccss

    一旦您为 IE7 实现了 IECCSS,您就不需要使用任何技巧,只需将其专门用于 IE7。

    据说您的页面布局看起来根本不需要 CSS 2 级定位。甚至 IE 5.0 也有不错的 CSS 1 级支持如果你知道如何正确地做基本布局,但不要感觉不好,因为除了我的网站,我总是看到人们在他们的教程中一头扎进使用 @ 987654323@ 而不是 float。因此,如果您想要更稳定的 CSS 并限制 SEO 的定位,我建议您也阅读我的 CSS 级别 1 教程...

    http://www.jabcreations.com/web/css/nested-divisible-elements

    如果您这样做,它将限制您使用 CSS 级别 2 position。对于您的布局,我唯一使用位置的是将内容保持在 body 元素的顶部,然后将菜单放在代码中的内容下方...然后使用 position 直观地放置菜单它们在页面上的位置。如果您禁用 CSS(例如 Firefox 的 Web Developer 工具栏很容易做到这一点,或者 Firefox --> View [menu] --> Page Style [menu] --> No Style)是搜索引擎的看法你的页面。

    此外,您确实应该修复您的标题元素。你有两个 h4then 几个 h2 元素。你想把你的页面想象成报纸,你的页面目前与使用h1 赢得战争毫无关系,但在首页顶部最重要的故事是h4 从养老院的树上救出一只猫。了解 HTML 的语义可以成为与搜索引擎相结合的强大工具,可以让更多人找到您的网站,因为您使搜索引擎更容易理解您的内容的语义。

    我希望这会有所帮助,如果您有任何其他问题,请随时提出。

    【讨论】:

      【解决方案2】:

      添加样式规则位置:相对于 wraper id main-wrap like

      #main-wrap{
          position:relative;
      }
      

      并将以下 CSS 添加到“.info-bg” div

      .info-bg{
          position: absolute;
          z-index: 3;
          top: 0;
          left: 0;
          bottom: 0;
          height: 600px; /* change according to your need */
          box-shadow: 0 0 73px rgba(0, 0, 0, 0.15) inset, 4px 0 4px rgba(0, 0, 0, 0.08);  
      }
      

      您还可以查看此页面以了解 z-index 属性的实际工作原理 - http://www.tutorialrepublic.com/css-tutorial/css-layers.php

      【讨论】:

        【解决方案3】:

        我修复了您在 IE7 中突出显示的问题。但我需要你看看这个要点https://gist.github.com/anonymous/6607075 并在你身边尝试一下。

        因为我没有你的 Wordpress 主题,所以很难解决。

        无论如何,关于要点 (https://gist.github.com/anonymous/6607075)

        • 对于 css,查看第 108 行的代码。对于 #info-wrapper
        • 对于 html,在第 94 行,我添加了 <div id="info-wrapper">

        看看这是否能解决问题?如果没有,请在 cmets 中告诉我。

        --

        编辑:你可以下载我在IE7中测试过的文件here at wetransfer

        【讨论】:

          【解决方案4】:

          您可以将其放在您网站的部分:

          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          

          这将禁用兼容模式并停止弄乱您的网站。

          【讨论】:

          • 但是问题也出现在 IE7 上,不幸的是我不能忽略这个问题
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-21
          • 2011-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多