如果span标记中没有任何文本,则跨度中的背景图像将不会显示

时间:2013-04-17 19:35:12

标签: html css

如果删除内部文本xxx

,下面的跨度将不是背景图像
<span style='background-image:url("http://gifsoup.com/web/images/soc4.gif")'  style="height: 30px;">
 xxx
</span>

但是在兼容模式下它没有xxx。

如何在没有任何内部文本的情况下使其工作?

3 个答案:

答案 0 :(得分:14)

因为spans默认为没有宽度或高度的内联元素。将CSS更改为:

span {
    display:inline-block;
    width:30px;
    background-image:url("http://gifsoup.com/web/images/soc4.gif");
    height:30px;
}

<强> jsFiddle example

通过将显示从内联更改为内联块,您可以设置范围的宽度和高度。

答案 1 :(得分:1)

span元素是内联元素,因此没有宽度或高度。你必须在元素css中指定它应该显示为块或内联块,然后指定图像的宽度和高度。

span{
    display: inline-block;
    background-image:url("http://gifsoup.com/web/images/soc4.gif");
    width:30px;
    height:30px;
    border-radius: 5px;
}

Example

答案 2 :(得分:0)

您需要添加宽度,可能需要display:inline-block,否则宽度为0,因此不可见。