【发布时间】:2013-11-10 09:07:27
【问题描述】:
我有两个绝对 -ley 定位的容器,像这样......
HTML
<div class=title_container>
<div class=title>Variable length title</div>
<div class=title_bg></div>
</div>
<div class=description_container>
<div class=description>Also variable length description</div>
<div class=description_bg></div>
</div>
CSS
.title_container {
position:absolute
}
.title {
position:relative; z-index:1;
color:#FFF;
}
.title_bg {
position:absolute; top:0; left:0;
background:#0000FF;
opacity:0.50;
width:100%; height:100%;
}
.description_container {
position:absolute
}
.description {
position:relative; z-index:1;
color:#FFF;
}
.description_bg {
position:absolute; top:0; left:0;
background:#0000FF;
opacity:0.50;
width:100%; height:100%;
}
为了使透明背景的宽度和高度与可变长度文本相匹配,两个容器都必须设置为绝对位置。
现在我需要设置两个容器之间的边距,但我不能只设置容器的顶部参数,因为文本长度可能会有所不同,这意味着如果文本长度超过一行,透明背景会重叠。
在这种情况下,如何在两个容器之间设置固定的 20px 边距?
【问题讨论】:
-
是否必须保持div的位置:绝对?这种行为非常适合 position:relative。
-
我认为这是强制性的,因为我无法将背景的宽度与标题的长度相匹配,如果您使用 cotainer relative,那么子容器会将父容器扩展为 100%