在我的代码中,我有一个父 div,在其中我有两个子 div。第一个子 div 是float:left
,第二个 div 有position:absolute
. 我的问题是我想通过它的孩子来增加父 div 高度自动。
这是CSS:
#msgbody{
margin-top:20px
}
.clr{clear:both}
.leftalign .imgbox{
float:left;
}
.leftalign .callout {
position: absolute;
left:70px;
padding:10px;
background-color: #EEEEEE;
/* easy rounded corners for modern browsers */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
.leftalign .callout .notch {
position: absolute;
top: 10%;
left: -10px;
border-left:0;
border-bottom: 10px solid transparent;
border-right: 10px solid #EEEEEE;
border-top: 10px solid transparent;
width: 0;
height: 0;
/* ie6 height fix */
font-size: 0;
line-height: 0;
/* ie6 transparent fix */
_border-right-color: pink;
_border-left-color: pink;
_filter: chroma(color=pink);
}
.imgbox{
border:1px solid #afc8c8;
padding:3px;
background:#fff;
margin-right:10px;
}
.circle{
border-radius:50%;
-moz-border-radius:50%;
-webkit-border-radius:50%;
}
.subimgbox, .imgbox{
display:block;
width:46px;
height:46px;
}
.subimgbox{
overflow:hidden;
background:#f3f3f3;
}
这是HTML:
<ul id="msgbodyli" class="ln">
<li class="leftalign">
<div class="imgbox circle">
<div class="subimgbox circle"></div>
</div>
<div class="callout">
Various browsers end up with jagged edges when you create these arrows.
The safest angle to get your arrow to render without jaggies is 45%. This can be done by just making all the border-widths the same except for one being zero
<b class="notch"></b>
</div>
<div class="clr"></div>
</li>
<li class="leftalign">
<div class="imgbox circle">
<div class="subimgbox circle"></div>
</div>
<div class="callout">
Various browsers end up with jagged edges when you create these arrows.
<b class="notch"></b>
</div>
<div class="clr"></div>
</li>
</ul>
因为父 div 处于“for 循环”中,所以当下一个父 div 出现时,它会与第一个父 div 重叠。看这张图片:
最重要的是,我不想用 Javascript 或 jQuery 来做。我想只用 CSS 修复它。那可能吗?如果您有任何问题,请告诉我。这是小提琴链接:http: //jsfiddle.net/sarfarazdesigner99/fpMyV/
提前致谢!