我对网络开发很陌生,我有这样的代码:
<style type="text/css">
span {
background:red;
background: transparent url(../images/skin/exception.png) 0.4em 100% no-repeat;
}
</style>
<span>
Contents.
</span>
我得到了输出,但图像被放置在Contents
文本上。我尝试过:
background-position: 25px;
但这会让图像消失!但我要找的是:
Contents . . . . . . . . . . . . . my_image
(请注意,上面的.
是空格)
我犯了错误?
提前致谢。
答案 0 :(得分:2)
请记住,<span>
是一个内联元素,它不是您希望以块方式显示的项目的正确标记。为此,您应该使用<div>
。话虽这么说,您可以使用text-indent: 25px;
将文字移到右侧。或者,您可以使用<div>
将新的left: 25px;
移到右侧。请记住left
会告诉它你想要放置它的左边界有多远。然后,您可以将文本放在另一个<div>
:
<style type="text/css">
div {
display:inline-block;
}
div.image {
background:red;
background:transparent url(../images/skin/exception.png) 0.4em 100% no-repeat;
left:25px;
}
</style>
<div class="box">
Contents.
<div class="image"></div>
</div>
答案 1 :(得分:2)
如果您的图片不是background-image
,则可以申请:
<强> CSS:强>
<style>
div#box{
width: 100%;
}
img#image {
float: right;
}
</style>
HTML:
<div id="box">
<span id="content">
Contents.
</span>
<img src="bkg.jpg" alt="Image not available">
</div>
答案 2 :(得分:0)
我也同意@ L0j1k,span是一个内联级元素。为什么要在范围内放置一些内容,然后在该范围内应用背景图像。无论如何请检查jsfiddle链接
<强>样本强>
答案 3 :(得分:0)
内联: -
<span>
//content
<img src="images/skin/exception.png" style="float:right">
</span>