当前位置: 首页 > 面试题库 >

文本缩进:-9999px是用图像替换文本的不好方法,还有哪些替代方法?

张光辉
2023-03-14
问题内容

说我们应该避免使用这种技术。这个说很棒。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请求。

如果我将链接设置为空,则可访问性会降低,因为屏幕阅读器不会知道它是什么。空链接看起来很奇怪,可能Google也不喜欢它。

那么处理这种情况的最佳方法是什么?


问题答案:

不使用-9999px方法的一个很好的理由是,浏览器必须为其应用的每个元素绘制一个9999px的框。显然,这可能会对性能造成很大的影响,尤其是在将其应用于多个元素时。

替代方法包括此方法:

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

…或者(从此处开始):

height: 0; overflow: hidden; padding-top: 20px;

(其中“ padding-top”是您希望元素的高度)。

我认为第一种方法更整洁,因为它可以让您以常规方式设置高度,但是我发现第二种方法在IE7中效果更好



 类似资料:
  • 我想要的输出将是一个包含以下项的JScrollPane: 我发现了创建自定义ListCellRenderer来替换DefaultListModel的建议。在所有的例子中,一个imageIcon是作为图标添加到lable中的,不幸的是,这只在文本的开头添加了一个图标,这不是我想要的。 以下是本网站示例之一的相关部分:

  • 问题内容: 似乎那里有几种不同的技术,所以我希望对此有一个“明确的”答案… 在网站上,通常的做法是创建一个链接到首页的徽标。我想做同样的事情,同时针对搜索引擎,屏幕阅读器,IE 6+和禁用CSS和/或图像的浏览器进行最佳优化。 示例一: 不使用h1标签。对SEO不好,对吧? 示例二: 在某处找到它。CSS似乎有点骇人听闻。 示例三: 相同的HTML,使用text-indent的不同方法。这是图像替

  • 问题内容: 我怎样才能做到这一点? 它将替换为文本。但是我想用变量的内容替换它。 我尝试过 它也不起作用。 问题答案: 您需要使用双引号: 您的单引号可防止将shell变量替换为其内容。

  • 我在XPages应用程序中使用docx4j创建包含XPage内容的Word文档。Word文档(.docx格式)是基于模板(.dotx格式)创建的。my.dotx模板中的一个书签如下: 使用函数 我可以通过调用 或CTBookmark对象调用 然而,一旦我有了这些对象,我不知道如何添加文本(XPage内容)来替换书签。我在网上尽可能多地阅读了关于这个话题的资料,但是找不到这样做的方法。有人有什么建议

  • 我有一个作为字符串传入的句子,我正在对单词“and”进行替换,我想用“”替换它。它并没有用空白代替“和”。下面是我的逻辑示例。当我调试这个的时候,逻辑就落在句子里了。代替 这里有我遗漏的东西吗。

  • 本文向大家介绍Python替换文件中的文本,包括了Python替换文件中的文本的使用技巧和注意事项,需要的朋友参考一下 例子