2

从元素中“删除”文本的最常用方法是 using text-indent: -9999px,但现在我读到最好使用

text-indent: 100%;
white-space: nowrap;
overflow: hidden;

这样浏览器就不必创建那个 9999px 的框了。但是为什么我们不能直接使用font-size: 0呢?使用这种方法到底有什么问题?

4

2 回答 2

1

这真的取决于你。我个人也使用 text-indent 作为标题,因此当页面加载 CSS 文档时,文本将是一个占位符,直到 CSS 加载完成。此外,每当我执行 'text-indent: -9999px' 时,我都看不到任何性能变化。

基本上,使用 'font-size: 0' 或 'text-indent: -9999px' 并没有什么明显的缺点,它们都可以正常工作。

于 2016-01-12T11:05:23.050 回答
1

不同的浏览器处理它的方式不同,而且有太多的变化,我无法一一列举。一些常见的问题是浏览器不知道如何处理类似的规则font-size:0并显示文本,就好像没有编写字体大小规则一样。在其他情况下,文本可能仍然可见,只是不是那么可读。而其他浏览器(mozilla,netscape7)做你想做的,不显示文本

如果没有测试font-size:0,我猜边距和填充仍然可见,尽管这在这两种情况下都可能是一个问题。

就我个人而言,我什至会在尝试之前使用rgba并将不透明度设置为0.0font-size:0

于 2016-01-12T11:09:06.750 回答