0

我有一个固定宽度的父 div,我在其中浮动带有标签的图像:

<div style="width: 200px;" class="buggybox imgr" id="g0">
    <img class="imgposr" src="../images/irrigation/hip4microwave2.png" alt="Microwave" width="200" height="133">
</div>

期望文本将环绕图像。

不幸的是,IE7 将图像浮动到父 div 的 RHS 边界之外(请参阅http://horticulture127.massey.ac.nz/ie7view.png),而 FF 和 Safari 在父 div 的边界内显示浮动和包装文本(黑色垂直线是父 div 的 LHS/RHS 边界。

如何解决这个 CSS 错误?关于正确浮动的 IE6/7 问题的可用信息太多了,我完全不知所措,看不到解决方案。

.imgr{
    float: right;
    margin: 4px 0 4px 10px;
    padding: 4px;
    clear: right;
}
* html .buggybox {height: 1%;}

(imgposr 不是 css 项 - 它是一些 jquery 的选择器)

4

3 回答 3

0

您需要添加position:relative;到父元素。

于 2009-10-13T22:05:33.083 回答
0

似乎出于某种原因将您的“buggybox”的宽度设置为 1px - 这是我能够获得类似于您所描述的结果的唯一方法。

如果可能的话,您能否尝试发布一段更完整的有问题的代码?尝试使代码尽可能短,删除所有不相关的内容。我有以下代码设置,我认为它可以满足您的需求。

当我向 .imgr div 添加 1 px 的宽度时,我得到的结果与您提供的图片中的结果相同(在 Firefox 和 IE 中),这就是为什么我怀疑这就是您的问题所在。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
#parent {
    width: 600px;
    border: 1px solid black;
}

.imgr{   
    float: right;    
    margin: 4px 0 4px 10px;    
    padding: 4px;    
    clear: right;
}
</style>
</head>
<body>
<div id="parent">
    <div class="buggybox imgr" id="g0">
        <img class="imgposr" src="../images/irrigation/hip4microwave2.png" alt="Microwave" width="200" height="133">
    </div>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas nec sapien libero, eget interdum lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi rutrum interdum dui ac ultrices. Donec pulvinar feugiat nibh, sit amet rhoncus sapien consectetur quis. In orci ante, bibendum sit amet euismod eu, tristique ac erat. Donec in enim nisl. Etiam vestibulum scelerisque purus, et fringilla nibh malesuada sit amet. Praesent magna mi, egestas quis commodo a, vulputate ut sem. Nullam auctor vulputate justo, vel pharetra lectus pulvinar eget. Curabitur dignissim lectus nec ligula rutrum et pellentesque metus auctor. Sed metus diam, aliquet non malesuada vitae, tincidunt sit amet augue. Aliquam luctus posuere eros, non adipiscing ante varius sed. 
</div>
</body>
</html>

希望这可以帮助!

于 2009-06-06T21:20:59.570 回答
-1

您可以尝试以下方法:

.imgr {
    overflow:auto;
}
于 2009-06-06T13:16:59.707 回答