0

关于将文本隐藏在锚标记内并仅显示背景图像的问题,我有几个问题。

请注意那些即将用其他文章的链接轰炸我并告诉我这是一个重复的问题:我已经搜索了这个网站和整个网络并阅读了人们提出的解决方案(我所说的解决方案主要是黑客)。大多数人似乎在做的(或直到最近才做的)就是-9999px黑客攻击。同样流行的是/正在将文本包装在一个跨度中并执行类似这样的操作或visibility: hidden.

现在,我个人认为“隐藏”文本只有在动态隐藏时才有意义,即仅在未加载背景图像时才显示(无论出于何种原因)。但是,我发现的所有“解决方案”都有效地完全删除了文本,或者至少将其永久隐藏,因此即使没有加载背景图像,文本仍然不会显示。

所以这是我的问题:

  1. 为什么要拥有文本,然后将其永久隐藏?为什么不把锚点留空——即不要在里面放任何文本——而只显示图像?为什么要有文本,然后还要费尽心思弄清楚如何隐藏它?那有什么意义呢?我在这里错过了什么吗?

  2. 现在我们有了 CSS3,是否有实际的非 hacky、动态的方法来在显示背景图像时隐藏文本并在图像(无论出于何种原因)无法加载时显示文本?我找不到任何资源,所以我假设这不受支持,但也许你们中的一个忍者知道得更好?

4

1 回答 1

1

为什么要这样做有不同的可能性:

  1. 搜索引擎扫描网络并收集视觉上隐藏的内容。该网站在语义方面变得更好,并且具有更高的页面排名。

  2. 许多视障人士依赖屏幕阅读器向他们朗读的内容。有时alt-tag 中的文本是不够的。背景图像甚至没有这样的标签。

对于您的第二个问题:对我来说,没有已知的方法可以检查背景图像是否已成功加载并显示(完全不同的故事!)。CSS 仅根据定义的规则对内容进行样式设置。可能有一种 javascript 方法可以做到这一点,但在我看来,这是不值得的,因为大多数情况下,这个文本并不是真正的后备。如上所述,它具有不同的目的。

于 2013-08-04T16:08:34.823 回答