【发布时间】:2013-02-19 16:12:05
【问题描述】:
假设您想用图像替换锚点,并将该图像作为锚点的背景。出于可访问性的原因,您仍然希望由锚点包裹的文本存在,但您不希望它可见。一个众所周知的技术是使用类似 text-indent: -9999px;连同溢出:隐藏;
假设我们的锚框是 50px x 50px,我们为什么不直接做 text-indent: 50px 呢?这会将文本推入锚的隐藏溢出中,无论它得到多长时间!
【问题讨论】:
-
很确定
overflow是大多数元素的默认visible? -
过去有一些奇怪的怪癖,像这样的东西只有在您将其放置在左侧时才有效,但在向右移动时会可见。因此是负数。我记得在 IE5(不寒而栗)或 IE6 中构建了一些东西,并意识到负数不仅仅是一种趋势,它们实际上是必要的。
-
@Graham 谢谢!这正是回答了我的疑惑。如果你回答正确,我会这样标记。
-
而文本缩进量如此之大的原因是你可以定义一个类(或Sass mixin等),然后将其应用于任何元素而无需考虑元素的尺寸和保证它可以工作,而不必知道尺寸(这可能取决于浏览器窗口的大小)。这是DRY 的事情。
标签: css text-indent