前一段时间,我在堆栈溢出问题上回答了这个问题:

https://stackoverflow.com/questions/5078239/how-to-remove-the-space-between-inline-block-elements

问题是display: inline-block的元素由于受HTML中的空白影响而具有“额外的间隙”,请参见:http://jsfiddle.net/thirtydot/4z4v2/

如图所示,可以通过删除HTML中的空格来消除空白。但是,删除该空格有时是不受欢迎的修复:例如,它使HTML更加难以使用。

所以,我建议采用以下解决方法:http://jsfiddle.net/thirtydot/4z4v2 / 1 /

ul {
    font-size: 0;
    letter-spacing: -1px;
}
li {
    font-size: medium;
    letter-spacing: normal;
}


(需要letter-spacing才能完全消除Safari中的空白)

那就是..

..直到在另一个答案中提出该技术时弹出一个注释:


请谨慎使用此代码,因为它可能被web
搜寻器解释为滥用,因为您将文本明确隐藏在包含链接的
元素内。确实,链接本身是可见的
,这要归功于更高的专用性规则,但是网络爬虫仍然可以在容器内看到一堆链接,告诉容器的所有祖先都必须隐藏其文本内容。


我仅在一个网站上使用了此技术(..我通常只是删除空格),并且该网站在Google上的排名正确(没有链接,对不起)。如果重要的话,该网站上的网页定位非常明确,格式为“词组+位置”:例如“ Zombie Chopper Ravenholm”。

我只在乎Google,但在回答其他问题搜索引擎也很受欢迎。

所以,我的问题是:

即使没有隐藏任何文字,仅font-size: 0的存在是否存在SEO风险? />

#1 楼

Google不会惩罚技术。他们是为了惩罚不良意图。正如display:none既可用于合法目的又可用于黑帽SEO,其他CSS规则也是如此。对于您来说,文本永远不会被隐藏,并且对于搜索引擎和用户都是可见的,因此您应该没事。