html - IE6 + IE7 CSS 溢出问题 : hidden; - position: relative; combo

标签 html css internet-explorer-6 internet-explorer-7 overflow

所以我为主页创建了一个 slider ,它使用 jQuery 滑动一些带有标题和预告文本的图像。一切正常,我去检查 IE,发现 IE 6 和 7 完全杀死了我的 slider css。我不知道为什么,但出于某种原因,我无法用 overflow: hidden; 隐藏非事件幻灯片。我试过来回调整 css,但一直无法找出导致问题的原因。

我在一个更独立的 html 页面中重现了这个问题。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da" dir="ltr">
  <head>
    <style>
      body {
       width: 900px;
      }
      .column-1 {
        width: 500px;
        float: left;
      }
      .column-2 {
        width: 200px;
        float: left;
      }
      .column-3 {
        width: 200px;
        float: left;
      } 
      ul {
        width: 2000px;
        left: -499px;
        position: relative;
      }

      li {
        list-style: none;
        display: block;
        float: left;
      }

      .item-list {
        overflow: hidden;
        width: 499px;
      }
    </style>
  </head>
  <body>
    <div class="column-1">
      <div class="item-list clearfix">
        <ul>
          <li class="first">
            <div class="node-slide">
              <img src="http://www.hanselman.com/blog/content/binary/lolcats-funny-pictures-leroy-jenkins.jpg" />
              <div class="infobox">
                <h4>Title 1</h4>
                <p>Teaser 1</p>
              </div>
            </div>
          </li>
          <li>
            <div class="slide">
              <img src="http://www.hanselman.com/blog/content/binary/lolcats-funny-pictures-leroy-jenkins.jpg" />
              <div class="infobox">
                <h4>Title 2</h4>
                <p>Teaser 2</p>
              </div>
            </div>
          </li>
          <li class="last">
            <div class="slide">
              <img src="http://www.hanselman.com/blog/content/binary/lolcats-funny-pictures-leroy-jenkins.jpg" />
              <div class="infobox">
                <h4>Title 3</h4>
                <p>Teaser 3</p>
              </div>
            </div>
          </li>
        </ul>
      </div>
    </div>
    <div class="column-2">
      ...
    </div>
    <div class="column-3">
      ...
    </div>
  </body>
</html>

我查到是

ul {
  position: relative;
}

在导致溢出的 ul 元素上:隐藏不起作用,但我不知道为什么会这样。此外,还需要使用 ul 上的 left 属性使 slider javascript 工作以滑动它。欢迎任何关于如何解决此问题的想法。

最佳答案

这是 IE6 和 IE7 中的一个众所周知的错误。要解决它,需要在容器中添加position:relative。因为在你的情况下 body 是容器,我建议你直接在 body 下面添加一个 div 并给它 position:relative 。它应该可以解决您的问题。

关于html - IE6 + IE7 CSS 溢出问题 : hidden; - position: relative; combo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403011/

相关文章:

html - 如何在带列的 div 上获取背景颜色?

javascript - 通过 Javascript 将 HTML 注入(inject) div

javascript - 下载的 HTML 文件是否有可能获得本地目录的目录列表?

css - 为 IE6 附加特殊的 css 样式

css - IE PNG 透明度问题 + TwinHelix

jquery - Html5视频剪辑反向

css - 为什么我只能在嵌入式 html 中使用我的光标标签?

css - 如何在 flex 行中放置不同尺寸的图像?

html - 导航栏对齐部分右侧部分左侧错误

c# - 什么是 IE6 相当于 Request.UserAgent.ToLower().Contains ("msie")?