可能重复:
Make outer div be automaticly the same height as its floating content
我觉得我在这里错过了一些非常简单的事情......
我们有一个简单的设置:包含子div的父div。 我想:
使用float:right
将导致父级不再正确调整大小并且子级“跳出”父级。
我尝试过使用align: right
和text-align: right
,但到目前为止还没有骰子。
<div id="parent"> <p>parent</p>
<div class="child"> <p>child</p> </div>
<div class="child right"> <p>child2</p> </div>
</div>
div{ padding: 15px; margin: 5px; }
p{ padding: 0; margin: 0; }
#parent{
background-color: orange;
width: 500px;
}
.child{
background-color: grey;
height: 200px;
width: 100px;
}
.right{ float: right; } // note: as the commenters suggested I should also be using a float:left on the other child.
有关我可以使用#parent
或.right
更改内容以使child2
正确对齐的任何建议?
我发现的最佳解决方法是在父级上使用display:table
。虽然我没有在IE中测试它,但它解决了我关心的浏览器中的问题,并避免使用评论中讨论的不直观的overflow:hidden
方法。
更好的是:将孩子的左边距设置为自动。
答案 0 :(得分:9)
尝试浮动内容并将overflow: hidden
添加到父级。这是违反直觉的,但对我来说也有类似的问题。
编辑:同时将第一个孩子浮动到左侧。