使用时
position:absolute;,该元素将从正常页面流中删除。因此,它不再影响其容器元素的布局。因此,容器元素不考虑其高度,因此,如果没有其他设置高度,则容器将为零高度。
此外,
display:inline-block;对于元素而言,设置没有任何意义
position:absolute;。同样,这是因为绝对定位使元素脱离了页面流。这与不一致
inline-block,后者仅影响元素如何适合页面流。
position:absolute;自动将所有元素视为
display:block,因为这是绝对定位的唯一逻辑显示模式。
如果您 需要 绝对定位,那么解决高度问题的唯一方法是设置容器盒的高度。
但是,我怀疑您可以没有绝对的定位。
看来您要执行的操作是将
<span>每个块中的第二个定位到块中的固定位置,以便它们对齐。
这是一个经典的CSS问题。在“过去的日子”中,网页设计师会使用表格来完成此工作,表格单元格上的宽度是固定的。这显然不是当今Web设计师的答案,但这引起了很多问题。
有许多使用CSS的方法。
最简单的方法是将两个
<span>元素都设置为
display:inline-block;,并给它们两个提供固定的宽度。
例如:
<div > <span >some text</span> <span >some text</span></div>
使用以下CSS:
.section span {display:inline-block;}.element-left {width:200px;}.element-right {width:150px;}[EDIT] 问题更新后
这是我将如何实现您现在所要求的:
<div > <span ><span >some text</span></span> <span >some text</span></div><div > <span ><span >some text</span></span> <span >some text</span></div><div > <span ><span >some text</span></span> <span >some text</span></div>
使用以下CSS:
.section span {display:inline-block;}.element-left {width:200px;}.indent-1 {padding:10px;}.indent-2 {padding:20px;}.element-right {width:150px;}少量的额外标记,但确实可以达到您想要的效果。



