文字前的图片合二为一 div
Image before text in one div
在我的情况下,是否可以在 div 内的文本之前放置图像(css 内容 属性)?
JavaScript 将不同的消息插入到带有 msgBox 的元素中。 不幸的是我无法接触 JS。
另外文字必须居中(图片中间)。
要求:
- 消息正文居中
- 图文之间10-20px强
- Div不得包含其他元素
- 文本和图标应居中。
document.getElementById("msgBox")
.innerHTML = "Here can be any text any long";
#msgBox {
border: 1px solid black;
padding: 10px;
text-align: center;
}
<div id="msgBox">(icon) text</div>
你可以试试 css :before
:
#msgBox:before{
content: url('path/to/your.png');
}
您可以在css中使用:before
将您的图标添加为背景图片,这样即使您在JS中更改div
的内容,图标仍然是那里。
#msgBox:before {
content: "";
display: inline-block;
width: 10px; // width of your image
height: 10px; // height of your image
background: url('img.jpg'); // path to your image
}
http://jsfiddle.net/a4utqvh1/3/
.wrapper {
border: 1px solid black;
padding: 10px;
text-align: center;
float: left;
}
.wrapper img,
#msgbox {
float: left;
}
<div class="wrapper">
<img src="http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png" />
<div id="msgBox">(icon) text</div>
</div>
这里是fiddle使用图片作为背景图片
消息框{
border: 1px solid black;
padding: 10px;
text-align: center;
background: url(http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png) no-repeat 5px center;
}
您可以通过设置图像的 height
和 verticle align:middle
css 并将图像放在文本之前来实现。
这是更新后的 fiddle
您可以使用 background-image-Attribute 形式的 div-Element。
#msgBox {
...
background-image: url('http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png');
background-repeat: no-repeat;
background-position-y: center;
...
}
希望这可行,将图像标签放在 innerHTML 文本中
document.getElementById("msgBox").innerHTML = "<img src='http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png'/> <span>Here can be any text any long</span>";
#msgBox {
border: 1px solid black;
padding: 10px;
text-align: center;
}
<div id="msgBox">(icon) text</div>
在我的情况下,是否可以在 div 内的文本之前放置图像(css 内容 属性)?
JavaScript 将不同的消息插入到带有 msgBox 的元素中。 不幸的是我无法接触 JS。 另外文字必须居中(图片中间)。
要求:
- 消息正文居中
- 图文之间10-20px强
- Div不得包含其他元素
- 文本和图标应居中。
document.getElementById("msgBox")
.innerHTML = "Here can be any text any long";
#msgBox {
border: 1px solid black;
padding: 10px;
text-align: center;
}
<div id="msgBox">(icon) text</div>
你可以试试 css :before
:
#msgBox:before{
content: url('path/to/your.png');
}
您可以在css中使用:before
将您的图标添加为背景图片,这样即使您在JS中更改div
的内容,图标仍然是那里。
#msgBox:before {
content: "";
display: inline-block;
width: 10px; // width of your image
height: 10px; // height of your image
background: url('img.jpg'); // path to your image
}
http://jsfiddle.net/a4utqvh1/3/
.wrapper {
border: 1px solid black;
padding: 10px;
text-align: center;
float: left;
}
.wrapper img,
#msgbox {
float: left;
}
<div class="wrapper">
<img src="http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png" />
<div id="msgBox">(icon) text</div>
</div>
这里是fiddle使用图片作为背景图片
消息框{
border: 1px solid black;
padding: 10px;
text-align: center;
background: url(http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png) no-repeat 5px center;
}
您可以通过设置图像的 height
和 verticle align:middle
css 并将图像放在文本之前来实现。
这是更新后的 fiddle
您可以使用 background-image-Attribute 形式的 div-Element。
#msgBox {
...
background-image: url('http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png');
background-repeat: no-repeat;
background-position-y: center;
...
}
希望这可行,将图像标签放在 innerHTML 文本中
document.getElementById("msgBox").innerHTML = "<img src='http://png.findicons.com/files/icons/2015/24x24_free_application/24/error.png'/> <span>Here can be any text any long</span>";
#msgBox {
border: 1px solid black;
padding: 10px;
text-align: center;
}
<div id="msgBox">(icon) text</div>