【问题标题】:I just don't know what it is, tried everything, IE 7 bug我只是不知道它是什么,尝试了一切,IE 7错误
【发布时间】:2010-12-27 23:06:04
【问题描述】:

有人见过这个错误吗?

我有一个带有 ul nav 背景图像的侧边栏,用于悬停状态,向右浮动,在所有浏览器中看起来都很棒。

然后...我在它下面添加了另一个 div 作为广告空间。在里面,有一个锚定的图像。该图像隐藏在导航的背景图像下方,但仅在 IE7 中(我放弃了试图取悦 ie6)。

所以我把它从侧边栏中拿出来,玩了浮动、显示、高度黑客,但没有任何效果 我可以用更多的顶部填充声明一个较大的顶部边距,让它变得清晰,但它破坏了设计。我什至尝试创建一个名为 clear 的 div 并在那里放置一个上边距。因此它在 chrome、FF、safari 中显示出巨大的差距,但在 IE 中显示出这个微小的空间。我什至尝试创建一个名为 clear 的 div 并在那里放置一个上边距。

我花了几个小时试图找到有同样问题的人,但无济于事。 有什么建议吗?

这是一个代码sn-p:

<div id="leftsidebar">
    <div id="leftnav">
        <ul class="slidenav" id="sidenav">
            <li id="overview" class="inactive">
                <a href="expat.html">expat lifestyle</a>
            </li>
            <li id="tips" class="inactive">
                <a href="traveltips.html">travel tips</a>
            </li>
            <li id="bts" class="inactive">
                <a href="bts-mrt.html">bts/mrt</a>
            </li>
            <li id="bus" class="inactive">
                <a href="bus.html">bus system</a>
            </li>
            <li id="van" class="inactive">
                <a href="taxi.html">vans/taxis</a>
            </li>
            <li id="boat" class="inactive">
                <a href="klong.html">boats/klong</a>
            </li>
            <li id="boat" class="inactive">
                <a href="klong.html">boats/klong</a>
            </li>
            <li id="tuk" class="inactive">
                <a href="tuk.html">tuk-tuks</a>
            </li>
            <li id="train" class="inactive">
                <a href="train.html">trains</a>
            </li>
            <li id="airport" class="inactive">
                <a href="airport.html">int'l airport</a>
            </li>
            <li id="dangers" class="inactive">
                <a href="dangers.html">dangers</a>
            </li>
            <li id="fun" class="inactive">
                <a href="fun.html">fun places</a>
            </li>
            <li id="shopping" class="inactive">
                <a href="shopping.html">shopping</a>
            </li>
        </ul>
    </div>
</div>
<div id="store">
    <a href="astore.amazon.com/ten044-20"; title="Shop WIB store">
        <img src="images/WIBstore.png" height="70" width="200" border="none"/>
    </a>
</div>

对应的CSS:

#leftsidebar {
  float:right;
  width: 210px;
  margin: 40px 0 0 0;
  padding: 0;
  height:1%;
}
#store {
  margin: 20px 0px 0 0px;
  padding: 0 10px 0 0;
  float: right;
  height: 1%;
  display: inline;
}

还有一张图片:

【问题讨论】:

  • 你可能需要模拟一个页面,这样人们才能看到你在说什么。
  • +1 放弃了全球 1/5 的顽固用户群。我们能看到吗?
  • 请在您的问题中发布示例代码(您可以在 Stack Overflow 上编辑您自己的问题)。完成后,请删除上面的 cmets(我会删除这个)。
  • 不要说你什么都试过了。你没有。你永远不会。不说了。

标签: internet-explorer internet-explorer-7 css


【解决方案1】:

以下是一些可能有助于解决此问题的建议:

  • 在您的问题中添加一些 CSS,以便人们了解您的布局是如何工作的
  • 在 IE7 上安装 IE Developer Toolbar 并检查 DOM 树。解决方案可能就像某处的杂散 z-index 一样简单
  • 使用 CSS 将广告图片设置为链接或 div 的背景。这会让你知道哪个元素被错误定位了
  • 删除所有内容,为所有 div 添加一些不同的背景颜色(左侧栏为黄色,左侧栏为红色,站点导航为绿色等)。这将帮助您“直观地调试”布局的盒子模型,并确保所有布局元素都位于应有的位置。

更新:关于 CSS 的一些建议

  • 为什么 store div 被标记为内联元素? store 和 leftsidebar div 的父级是什么,它的定位是什么?尝试从 store div 中删除内联。
  • 尝试将 leftsidebar 和 store 放在一个新的 div 中,并使其浮动到右侧,并让这两个保持标准定位

【讨论】:

  • 我增加了 ul 的高度声明,这似乎清除了它,但它也增加了其他浏览器的高度。它并不完美,但我可以忍受它在所有浏览器中的显示方式——感谢背景颜色的建议——这让我在某种程度上解决了它!艾美奖
猜你喜欢
相关资源
最近更新 更多
热门标签