带有position:absolute
的元素总是从相关元素的常规流程中取出。
你可以做的是使用一个精灵的背景图像。将你的复选框和你的图像放在float:left
和float:right
divs中,或者将它们两个都浮起来并在它们之间保留一个边距并修改精灵的背景位置。如果你想,你也可以使用图像,但我觉得使用精灵会更快。例如。
<div>
<div class='item'>
<div class='image'>
<img alt="" src="http://www.ahornblume.ch/images/img1.jpg" />
</div>
<div class='checkbox'>
<input name="product1[]" type="checkbox" value="skin" />skin
</div>
</div>
<div class='item'>
<div class='image'>
<img alt="" src="http://www.ahornblume.ch/images/img2.jpg" />
</div>
<div class='checkbox'>
<input name="product1[]" type="checkbox" value="face" />face
</div>
</div>
</div>
.item{
float:left;
width:auto;
}
.image{
float:left;
width:auto;
}
.checkbox{
float:right;
width:auto;
}
如果你想使用精灵,你可以给每个div则id
和定义背景位置,这取决于图像复选框配对。
是的,我明白,但我的问题是没有高度的复选框的容器的宽度.. 。如果复选框标签很长,它应该展开。如果我指定容器的宽度,那么一切正常......我只是认为可能有更简单的方法来实现这一点。 – Lorof
你应该设置一个固定的宽度。如果你不满意,你将不得不使用JavaScript来计算宽度。 – mreq
如果你设置div正常显示为块并给它们适当的'padding's(尽管每个块都有所不同,它不应该是一种痛苦,因为无论如何你都会计算'top'不得不)。希望你明白了。如果没有,评论。 – mreq