CSS 如何在跨度后隐藏文本
CSS How to hide text after a span
以下是我为 Joomla 开发的模板中的一些代码。下面的代码是生成的输出。
是否可以使用 css 在结束跨度后隐藏标签中的文本?例如,如何隐藏“打印”、“电子邮件”和“编辑”这些词?
<ul class="icons">
<li class="print-icon">
<a href="#" onclick="window.print();return false;"><span class="icon-print"></span>Print</a>
</li>
<li class="email-icon">
<a href="#email"><span class="icon-envelope"></span>Email</a>
</li>
<li class="edit-icon">
<a href="#edit"><span class="icon-edit"></span>Edit</a>
</li>
</ul>
感谢您的帮助
由于您实际上无法直接 select 文本节点,因此一种解决方法是将父元素的 font-size
设置为 0
。然后为那些需要的 span
元素重置 font-size
。这样做时,只有 span
元素应该出现,相邻的文本节点 应该 有效隐藏。
.icons li a {
font-size: 0;
}
.icons li a span {
font-size: 16px;
}
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<ul class="icons">
<li class="print-icon">
<a href="#" onclick="window.print();return false;"><span class="fa fa-print"></span>Print</a>
</li>
<li class="email-icon">
<a href="#email"><span class="fa fa-envelope"></span>Email</a>
</li>
<li class="edit-icon">
<a href="#edit"><span class="fa fa-edit"></span>Edit</a>
</li>
</ul>
您可以只留下 html 中的字词。
<a href="#email"><span class="icon-envelope"></span>Email</a>
变成
<a href="#email"><span class="icon-envelope"></span></a>
您可以尝试将锚标记设置为内联块并为其指定图标的宽度,然后将溢出设置为隐藏:
.edit-icon a, .email-icon a, .print-icon a { display: inline-block; width: 16px; overflow: hidden; }
这里有点jsfiddle
以下是我为 Joomla 开发的模板中的一些代码。下面的代码是生成的输出。
是否可以使用 css 在结束跨度后隐藏标签中的文本?例如,如何隐藏“打印”、“电子邮件”和“编辑”这些词?
<ul class="icons">
<li class="print-icon">
<a href="#" onclick="window.print();return false;"><span class="icon-print"></span>Print</a>
</li>
<li class="email-icon">
<a href="#email"><span class="icon-envelope"></span>Email</a>
</li>
<li class="edit-icon">
<a href="#edit"><span class="icon-edit"></span>Edit</a>
</li>
</ul>
感谢您的帮助
由于您实际上无法直接 select 文本节点,因此一种解决方法是将父元素的 font-size
设置为 0
。然后为那些需要的 span
元素重置 font-size
。这样做时,只有 span
元素应该出现,相邻的文本节点 应该 有效隐藏。
.icons li a {
font-size: 0;
}
.icons li a span {
font-size: 16px;
}
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<ul class="icons">
<li class="print-icon">
<a href="#" onclick="window.print();return false;"><span class="fa fa-print"></span>Print</a>
</li>
<li class="email-icon">
<a href="#email"><span class="fa fa-envelope"></span>Email</a>
</li>
<li class="edit-icon">
<a href="#edit"><span class="fa fa-edit"></span>Edit</a>
</li>
</ul>
您可以只留下 html 中的字词。
<a href="#email"><span class="icon-envelope"></span>Email</a>
变成
<a href="#email"><span class="icon-envelope"></span></a>
您可以尝试将锚标记设置为内联块并为其指定图标的宽度,然后将溢出设置为隐藏:
.edit-icon a, .email-icon a, .print-icon a { display: inline-block; width: 16px; overflow: hidden; }
这里有点jsfiddle