0

我们可以overflow: auto;用来强制父母围住漂浮的孩子。例子:

<style>
p {
  border: solid black 1px;
  padding: 2px;
  overflow: auto;
}

img { 
  float: right;
}
</style>

<p>
  <img src="http://placekitten.com/125/253" alt="Very Tall Image with Kitten" />
  Lorem ipsum dolor sit amet, consectetur adipisicing elit. 
</p>

为了包含浮动元素,Eric Meyer 的Smashing CSS神秘地提到

如果您想确保避开旧版本 IE 中的一些故障,width请在溢出的元素中添加显式。

除了overflow: auto;包含浮动元素之外,哪些旧 IE 需要在父项上声明宽度?

我使用 IE9 的 IE7 和 IE8 仿真测试了一个演示,但它们都包含没有声明宽度的浮动子级。

4

1 回答 1

0

这可能不是您正在寻找的,但是,我曾经在 IE7 中遇到过类似的问题

我有以下下拉菜单结构。在页面加载时 .secNav 是隐藏的,可以在将鼠标悬停在其各自先前的锚点上时显示,即“关于我们”。

<ul class="primaryNav">
    <li>
        <a href="#">About Us</a>
        <div class="secNav">
            <ul>
                <li><a href="#">some long text goes here</a></li>
                <li><a href="#">Mission</a></li>
            </ul>
        </div>
    </li>
</ul> 

基本的 CSS 是

.primaryNav > li {position:relative}

.secNav{position:absoulte; left:0; top:20px;}

仅对于 IE8 以下,我需要将“宽度”分配给 .secNav,这将等于其最大的子锚

也许有用,否则请忽略

于 2013-10-06T09:37:53.463 回答