我想在一张图片上放置多行文本,它们之间的间距相等。
我认为像这样使用相邻选择器:
.text-box + .text-box{
margin-top:40px;
}
会在每个连续的 text-box
元素之间引入 40 px 的分隔,但我发现它只在第二个和第一个元素之间起作用,所以第三个元素与第二个,也就是说,与第一个元素的边距为 40px,而我期望第二个元素的边距为 40px,因此与第一个元素的边距为 40+40px。
这样可以吗?
这是我的代码: CSS:
.text-box{
z-index:100;
position:absolute;
right: 600px;
background-color:#404042;
color:#ffffff;
padding:6px 10px;
}
.text-box + .text-box {
margin:40px 0px;
}
HTML:
<div class="container">
<div id="logo"><img src="images/image.jpg"></div>
<div class="text-box">some text</div>
<div class="text-box">some other text</div>
<div class="text-box">some other text</div>
</div>
最佳答案
问题出在你的绝对定位上。将其移除,即可应用边距。
图像上带有文本的演示(这似乎是意图):http://jsfiddle.net/EqXYA/1/
关于CSS相邻选择器递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480252/