css - 哪些旧的 IE 需要宽度来包围 float 的子项?

标签 css internet-explorer css-float

我们可以使用 overflow: auto; 来强制 parent 包围 float 的 child 。示例:

<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>

对于包含 float 元素,Eric Meyer 的Smashing CSS 隐晦地提到

If you want to be sure you sidestep some glitches in older versions of IE, add an explicit width to your overflowed element.

除了 overflow: auto; 之外,哪些旧 IE 还需要在父级上声明宽度才能包含 float 元素?

我测试了一个 demo使用 IE9 对 IE7 和 IE8 的仿真,但它们都包含没有声明宽度的 float 子元素。

最佳答案

这可能不是你要找的东西,但我在 IE7 中遇到过类似的问题

我有以下下拉菜单结构。在页面加载时。secNav 是隐藏的,并且可以在将鼠标悬停在其各自的前一个 anchor (即“关于我们”)上时显示。

<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,这将等于它的最大宽度 child 主播

也许有用其他请忽略

关于css - 哪些旧的 IE 需要宽度来包围 float 的子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19056408/

相关文章:

CSS 元素在 Safari 中低于预期位置

html - CSS:右对齐垂直旋转的文本

html - 使用括号将文本左对齐

css - 在 Bootstrap 中,如何让背景颜色一直向右移动

css - 响应式投资组合画廊不适用于 Android 和 iMac

css - ie7过滤器继承bug

javascript - 通过代码捕获 Firefox/IE 错误控制台的内容?

html - 自动高度去除浮​​动

html - 并排两张图片,上面有文字

image - IE 10 和 PNG 文件作为背景图像