Css 浮动Divs+;动态高度

Css 浮动Divs+;动态高度,css,html,Css,Html,想法是:我有一个容器div,里面有两个div,就像页面上的两列一样 问题是:我必须使用CSS“float”属性才能使两个div相邻显示,但当我将float:left或right应用于div时,未浮动的父div不会拉伸到子div的大小,因此背景消失。我知道一个Javascript技巧可以解决这个问题,但是有没有我缺少的简单、干净的CSS解决方案?向父级添加“overflow:auto;”应该可以 在浮动元素之后立即添加类似的内容: <div class="parent"> &l

想法是:我有一个容器div,里面有两个div,就像页面上的两列一样

问题是:我必须使用CSS“float”属性才能使两个div相邻显示,但当我将float:left或right应用于div时,未浮动的父div不会拉伸到子div的大小,因此背景消失。我知道一个Javascript技巧可以解决这个问题,但是有没有我缺少的简单、干净的CSS解决方案?

向父级添加“overflow:auto;”应该可以

在浮动元素之后立即添加类似的内容:

<div class="parent">
    <div style='float:left;'></div>
    <div style='float:right;'></div>
    <div class='clear'></div>
</div>
将“溢出:自动;”添加到父级应该有效

在浮动元素之后立即添加类似的内容:

<div class="parent">
    <div style='float:left;'></div>
    <div style='float:right;'></div>
    <div class='clear'></div>
</div>

使用clearfix技术应该能够成功地扩展父元素

您可以将清除元素添加到父项的底部:

HTML

或者您可以对父元素应用CSS clearfix hack

CSS


从某种意义上说,这是一种权衡。哪一种感觉更像黑客:额外的标记,或者CSS,恰好可以做你想做的事情?

使用clearfix技术应该可以成功地扩展你的父元素

您可以将清除元素添加到父项的底部:

HTML

或者您可以对父元素应用CSS clearfix hack

CSS


从某种意义上说,这是一种权衡。哪一种感觉更粗糙:额外的标记,或者CSS,恰好可以做你想做的事情?

使用display:inline块而不是float。应用于块元素的内联块使其显示为内联。因此,如果容器具有类容器,则需要使用以下CSS:

.container div
{
     display:inline-block;
}

对于IE6和IE7,只能使用display:inline,其行为方式与inline块相同。

使用display:inline块而不是float。应用于块元素的内联块使其显示为内联。因此,如果容器具有类容器,则需要使用以下CSS:

.container div
{
     display:inline-block;
}

对于IE6和IE7,您只能使用display:inline,其行为方式与inline块相同。

完全跨浏览器兼容的inline块可能非常复杂,而且。虽然内联块在某些情况下肯定更好,但浮点有时实际上会非常非常简单。也许你是对的。我真的不需要处理像IE6和IE7这样的传统浏览器,因此我没有意识到这种方法会导致一些跨浏览器的问题。一个完全跨浏览器兼容的内联块可能非常复杂。虽然内联块在某些情况下肯定更好,但浮点有时实际上会非常非常简单。也许你是对的。我真的不需要处理像IE6和IE7这样的传统浏览器,因此我没有意识到这种方法会导致一些跨浏览器的问题。谢谢。呵呵,当然!这只是给了我一个“请等5分钟再回答”,因为你太快了!呵呵,当然!这只是给了我一个“请等5分钟再回答”,因为你太快了!我总是说越少越好。我总是说越少越好。
.parent { overflow: auto }
.container div
{
     display:inline-block;
}