如何隐藏锚文本而不隐藏锚?

说我有以下的标记:

<li><a href="somehwere">Link text</a></li> 

如果我有一个标签的背景图像,我将如何隐藏链接文本使用只是CSS? 字体大小:0似乎工作正常的标签除了ie7小斑点显示。

谢谢

  • 感谢迄今为止的帮助iv使用line-height:0; 和font-size:0; 和text-indent:-999px; 但它仍然显示了一些狩猎斑点,有什么想法?

尝试

  a{ line-height: 0; font-size: 0; color: transparent; } 

color: transparent; Webkit浏览器仍然会显示1px的文本。

将文本包装在一个范围内并设置visibility:hidden; 隐藏可见性将隐藏该元素,但仍然占用页面上的相同空间(相反,display:none也将其从页面中删除)。

 a { text-indent:-9999px; } 

倾向于从我的经验中工作。

迷你提示:

我有以下情况:

 <a href="/page/">My link text :after </a> 

我用font-size:0隐藏了文本,所以我可以使用一个FontAwesome图标。 这在Chrome 36,Firefox 31和IE9 +上工作。

我不会推荐颜色:透明,因为文本stil存在并且可以select。 使用line-height:0px不允许我使用:after。 也许是因为我的元素是一个内联块。

可见性:隐藏 :不允许我使用:之后。

text-indent:-9999px; :还移动了:after元素

 text-indent :-9999px 

作品完美无瑕。

我遵循Loktar的最佳答案,并且工作得很好。 我遇到的唯一问题是Chrome(我目前的版本是27.0.1453.94米)。 我遇到的问题是,Chrome似乎意识到链接中的文本是不可见的,它会使链接稍微低一点,然后应该是(像margin-top一样,但不可能改变它)。 这发生在我们使文本隐藏的所有方式中: – line-height:0; – font-size:0; – text-indent:-9999px;

我能够通过调整链接的垂直alignment来解决这个问题:

 vertical-align: 25px; 

我希望这是有帮助的

另一种select是基于bootstraps“sr-only”类来隐藏。 如果您将文本以“sr-only”级别进行换行,则文本将不会显示,但屏幕阅读器仍然可以访问该文本。 所以你会有:

 <li><a href="somehwere"><span class="sr-only">Link text</span></a></li> 

如果你不使用引导程序,仍然保持上面的,但也添加下面的CSS来定义“sr-only”类:

 .sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; } 

只需要添加font-size: 0; 包含文字的元素 这很好。

我可以通过设置font-size:0来解决这个问题。

如何display: none;

这隐藏了一切。