CSS - 浮动:左对齐问题

时间:2012-11-13 21:48:31

标签: css css-float

我正在使用DIV构建一个论坛列表,这是我拥有的

/* forum like build */
.myForum{
    float: left;
    width: 620px;
    margin-top: 10px;
    border: 2px solid #0F5C8E;
    padding: 1px;
    overflow: hidden;
    display: block;
}

.myForum > .header {
    height:10px;
    background-color: #adcbe7;
    border-bottom: 1px solid #0F5C8E;

    font-weight: bold;
    padding: 2px;
    overflow: hidden;
    height:20px;
}



.myForum > .myrow {
    padding-left: 0px;
    margin: 0px;
    border-bottom: 1px solid #0F5C8E;
   height:57px;
   background-color: #f5f5f5;
}

.myForum > .myrow > .photo {    
    overflow: hidden;
    width:105px;
    float:left;
    text-align:center;
    padding-right: 2px;
    padding-top:2px;    
    height:57px;
}

.myForum > .myrow > .content {
    padding-left: 3px;
    padding-right: 3px;
    overflow: hidden;
    width:450px;
    float:left;
    border-left: 1px solid #0F5C8E;
    border-right: 1px solid #0F5C8E;
    height:57px;

}
.myForum > .myrow > .mycount {
    padding-right: 1px;
    padding-bottom: 1px;
    overflow: hidden;
    float:left;
    height:57px;
    padding-left:3px;

}

.myForum > .myrow > .content > a {
    color: #013E99;
    font: bold 0.8em/1.3 arial,helvetica,sans-serif;
    margin-top: 0;
}

.myForum > .myrow > .content > p  {
    font: normal 0.7em/1.3 arial,helvetica,sans-serif;
    margin-bottom:2px;
    color:#878787;
}
.myForum > .myrow > .content > p > a {
    color: #0066CC;
    margin-top: 0;
}

http://jsfiddle.net/ytAud/1/

你可以看到对齐搞砸了。

如果我将额外的 padding-top 添加到第三个div( .myForum> .myrow> .mycount ),则对齐工作正常。但这扰乱了垂直线(第二条垂直线)。你可以看到下面修改过的那个

http://jsfiddle.net/ytAud/2/

(我想过使用表格,但我看到最新网站开始使用DIV甚至列表)

2 个答案:

答案 0 :(得分:1)

这可能不是语法上最正确的方法,但它适用于您的示例:

  

.myForum> .myrow {
  明确:两者;
  }

答案 1 :(得分:1)

看起来您在照片上的填充导致问题。由于每一行都没有足够的高度,所以它会越过另一排。显示问题的简单示例。 (可以通过删除填充或添加更多高度来解决)

变化:

.myForum > .myrow > .photo {    
overflow: hidden;
width:105px;
float:left;
text-align:center;
padding-right: 2px;
padding-top:2px;    
height:57px;
}

.myForum > .myrow > .photo {    
overflow: hidden;
width:105px;
float:left;
text-align:center;   
height:57px;
}

Example