我正在努力实现与此相似的东西
[ sometext ] [ someothertext]
actualtext actualtext2
但我只是得到像
这样的东西som[etext ] someoth[ertext ]
actualtext actualtext2
其中[]表示放置在背景中的图像。在语义上,我想/需要将堆叠的元素放在一起,例如。
<li class="software1">
<div class="overlay">
-soft1
</div>
20
</li>
其中overlay元素应该是在lis背景前面的实际文本上方的文本。
我构建了一个显示问题的小jsfiddle http://jsfiddle.net/A3VRd/3/
我想要实现的是让上面的文字实际上高于&#34;正常&#34;文本,而不仅仅是提升,但好像它就在旁边。
答案 0 :(得分:0)
我认为你忘了给出background-repeat属性。像下面一样更新你的CSS。
aside.compatibility .software1 {
background-image: url("http://placehold.it/32x32");
background-repeat:repeat-x;
}
答案 1 :(得分:0)
你可能需要使用z-index css属性。
.overlay {
display: inline-block;
position: absolute;
top: 0px;
width: 80%;
height: 100%;
background: #F00;
padding: 10%;
text-align: center;
z-index: 10;
visibility: visible;
}
.actual {
display: inline-block;
position: absolute;
top: 0px;
width: 80%;
height: 80%;
background: #00FFB8;
padding: 10%;
text-align: center;
z-index: 0;
visibility: hidden;
}
答案 2 :(得分:0)
我想有很多方法可以做到这一点。假设您不想使用背景重复(因为您当前将其设置为无),那么您需要为列表元素提供与您计划使用的背景图像相同的宽度。
这是与你类似的标记,但是我已经将带有背景图像的类应用到包含&#34; overlay&#34;文本。我也使用了span标签,因为它对我来说更自然,但是li里面的div是有效的,所以如果你愿意,你可以使用它。
<强> HTML:强>
<aside class="compatibility">
<ul>
<li> <span class="software1">Here's some Text</span>20</li>
<li> <span class="software1">Some Other Text</span>20</li>
<li> <span class="software1">Text of Another One </span>20</li>
</ul>
</aside>
<强> CSS:强>
aside.compatibility ul {
margin-top: 64px;
list-style-type:none;
position: relative;
}
aside.compatibility li {
display:inline-block;
padding-top:64px;
margin-right:20px;
width: 100px;
text-align: center;
}
aside.compatibility .software1 {
background-image: url("http://placehold.it/100x50");
}
aside.compatibility li span {
display: block;
background-repeat: no-repeat;
background-position: center;
position:absolute;
bottom: 20px;
width: 100px;
height: 50px;
padding-top: 10px;
}