通过css将文件添加到文本左侧

Chr*_*way 76 css

如何通过css将图像添加到某些文本?

我有这个:

<span class="create">Create something</span>
Run Code Online (Sandbox Code Playgroud)

我想用css在左边添加一个16x16的图像.这是可能的还是我应该手动添加这样的图像:

<span class="create"><img src="somewhere"/>Create something</span>
Run Code Online (Sandbox Code Playgroud)

我宁愿不必手动改变所有的地方,这就是我想通过css做的原因.

谢谢!

Jon*_*ock 121

.create
{
background-image: url('somewhere.jpg');
background-repeat: no-repeat;
padding-left: 30px;  /* width of the image plus a little extra padding */
display: block;  /* may not need this, but I've found I do */
}
Run Code Online (Sandbox Code Playgroud)

使用填充和可能的边距来玩,直到获得所需的结果.您还可以使用"背景位置"或完全定义"背景"(链接到w3)播放背景图像的位置(*向Tom Wright点头).

  • 这在页面显示在屏幕上时有效,但大多数浏览器在打印时默认省略背景图像,因此您将在图像应该出现的地方留下空白。必须有一个解决方法! (2认同)

tom*_*z86 33

非常简单的方法:

.create:before {
content: url(image.png);
}
Run Code Online (Sandbox Code Playgroud)

适用于所有现代浏览器和IE8 +.

编辑

不要在大型​​网站上使用它.:在伪元素之前,在性能方面是可怕的.


Tra*_*mer 11

尝试类似的东西:

.create
 { 
  margin: 0px;
  padding-left: 20px;
  background-image: url('yourpic.gif');
    background-repeat: no-repeat;

}
Run Code Online (Sandbox Code Playgroud)


小智 8

当事先未知文本长度时,始终在文本之前添加背景图标。

.create:before{
content: "";
display: inline-block;
background: #ccc url(arrow.png) no-repeat;
width: 10px;background-size: contain;
height: 10px;
}
Run Code Online (Sandbox Code Playgroud)


小智 7

这非常有效

.create:before{
    content: "";
    display: block;
    background: url('somewhere.jpg') no-repeat;
    width: 25px;
    height: 25px;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

  • @Giovanni不是讽刺!我刚刚编辑了答案,以便更清楚地说明它并非故意留空. (3认同)