【发布时间】:2012-02-16 18:34:43
【问题描述】:
This article 说我们应该避免使用这种技术。 This one 说它很棒。 Google 会在 CSS 文件中查找 text-indent: -9999px; 并惩罚您,这是真的吗? :|
我大量使用该属性来隐藏文本。例如,我有一个由图标表示的按钮:
<a href="#" class="mybutton">do Stuff</a>
CSS:
.mybutton{
text-indent: -9999px;
background: transparent url(images/SpriteWithButtons.png) no-repeat 20px 20px;
display: block;
width: 16px;
height: 16px;
}
我没有看到任何替代我的代码的方法。如果我用图像替换它,我会自动为每个按钮图像获得 +20 HTTP 请求。
如果我将链接设为空,它的可访问性会降低,因为屏幕阅读器不会知道那是什么。而且空链接看起来很奇怪,可能谷歌也不喜欢这样......
那么处理这种情况的最佳方法是什么?
【问题讨论】:
-
您可以随时使用
padding-top: 9999px和overflow: hidden。 -
据我所知,它是一个滑坡——如果你不过度使用它,它似乎没问题——但由于谷歌没有“官方”声明,我尽量避免它,但我最好的猜测是谷歌不会惩罚它,而是将其中的任何内容(远)排在页面上的任何其他内容之前,也许像
<a title="do stuff" href="#" class="mybutton"></a>这样的东西“更好”,但很难确定。 .. -
另一种选择是使用伪元素,如this article 中所述。
标签: html css seo text-indent