css浮动和边界问题

时间:2011-09-02 18:25:53

标签: css css-float

我得到了这个css:

.post-user {
    background:black;
    color:white;
    width:auto;
    float:left;
}
.img-side {
     border-style:solid;border-width:medium;width:75px;margin-bottom:2px;
}
.top-head {
    background:cyan;
    width:100%;
    height:20px;
    display:block;
}
.main-box {
    border-style:solid;
    border-width:1px;
    display:block;
    height:auto;
}

html看起来像这样:

<div class="main-box">
    <div>
        <div class="top-head"><span>At top</span>
        </div>
        <div class="side">
            <div class="img-side">
                <img src="http://st2.gsmarena.com/vv/pics/htc/htc-snap-1.jpg" width="75px" height="75px" />
            </div>
        <div class="post-user">User name</div>
        </div>
    </div>
</div>

demo

但是div post-user正在越过边界。

我该如何解决? (P.S .:它类似于论坛的布局)

3 个答案:

答案 0 :(得分:8)

http://jsfiddle.net/PGFTz/5/我在post-user之后添加了一个明确的解决方案,允许它保留在框内。

答案 1 :(得分:6)

overflow:hidden添加到您的.main-box css

关于它如何以及为何有效的广泛阐述可以在这里找到

http://www.quirksmode.org/css/clearing.html

这里有一个很好的浮法工作指南:

http://www.alistapart.com/articles/css-floats-101/

答案 2 :(得分:1)

您可以将float:left更改为text-align:left

.post-user { 
background:blue; 
color:white; 
width:auto; 
/*float:left;*/
text-align:left;
} 

这对我有用=)