19

我正在尝试在包含左右两个子 div 的列表元素内创建一个父 div。左边将包含一个图像,右边将包含两个额外的 div,其中包含一些文本和一个时间戳。

我无法在不重叠的情况下显示左右 div。

我的 HTML 看起来像这样:

<ul class="activity-comments">
<li>
<div style="border: solid 1px #ff0000;">
  <div style="float:left;border: solid 1px #0000ff;">
      <img src="http://localhost/new/img/sampleimg.png" class="thumb-small">
  </div>
  <div>
    <small>Some sample text here 1</small>
  </div>
  <div>
    <small>Posted 1 day ago</small>
  </div>
</div>
</li>
<li>
<div style="border: solid 1px #ff0000;">
  <div style="float:left;border: solid 1px #0000ff;">
      <img src="http://localhost/new/img/sampleimg.png" class="thumb-small">
  </div>
  <div>
    <small>Some sample text here 2</small>
  </div>
  <div>
    <small>Posted 2 days ago</small>
  </div>
</div>
</li>
</ul>

看看这个jsfiddle

我错过了什么?

4

2 回答 2

20

它们是重叠的,因为您正在浮动一个 div,但没有清除浮动。

使用 clearfix 方法清除浮动。将一个类添加container到您的容器 div 并使用此 CSS:

http://jsfiddle.net/57PQm/7/

.container {
    border: solid 1px #ff0000;
    zoom: 1; /* IE6&7 */
}

.container:before,
.container:after {
    content: "";
    display: table;
}

.container:after {
    clear: both;
}

您还会注意到我已经删除了您的内联 CSS。这使您的代码更易于维护。

于 2013-04-15T14:42:09.903 回答
0

您的缩略图将图片设置为 41 像素的特定高度。要么改变图片大小,要么改变div大小,要么设置外层div的溢出。

于 2013-04-15T14:42:23.707 回答