我使用<div>
标签在我的页面中插入图标:
<div class="icon warning"></div>There is a warning in the page
问题是图标太靠近文本:
这是图标的代码:
div.icon{
display:inline-block;
width:16px;
height:16px;
background-color:transparent;
background-image:url(/images/icons.png);
background-repeat:no-repeat;
vertical-align:text-top;
background-position:0 0;
}
div.icon.warning{
background-position:-48px 0;
cursor:help;
}
只有当图标后面跟着一些文本时,我才想在图标和文本之间放置几个像素的距离。换句话说,如果图标后面没有文字,我不想要那个空间。换句话说,对于以下代码,我希望 div#icon1 和文本“页面中有警告”之间有 5px 的距离,但我不希望 div#icon2 和后面的元素之间有任何距离:
<li><div id="icon1" class="icon warning"></div>There is a warning in the page</li>
<li><div id="icon2" class="icon warning"></div></li>
请注意,图标并不总是出现在<li>
元素中,因此您建议的选择器不能依赖于图标可能出现的上下文。关于图标唯一可以确定的是,如果它们后面跟着一些文本,它们和文本之间必须有一些空间。