Disallow negative text indent (不允许 文本负缩进)

文章为csslint中文版译文,点击原文可查看英文版,如遇到翻译错误或错别字啥的,请留言指出~ 译文内容不定期更新~ 返回目录

文本负缩进通常当作辅助的目的,来隐藏在屏幕上的文字。使用场景之一就是作为图像替换技术,使用文本负缩进,可确保屏幕阅读器在文本没有显示在屏幕中时也能读取其数据。使用visibility:hiddendisplay:none会使得屏幕阅读器略过文本信息,因此,运用文本负缩进被视为更好的辅助处理方式。

此技巧通常使用很大的负单位数值,如-999px-9999px,如下:

.mybox {
    background: url(bg.png) no-repeat;
    text-indent: -9999px;
}

此带有技巧性的缩进允许 背景图片展示给普通游览用户的同时,也确保了屏幕阅读器能顺利解析内联的文本信息。

当文本负缩进使用在横向视图页面时,会引起一定的麻烦,因为会出现一个很长的横向滚动条。此问题可以通过添加direction:ltr来解决,如下:

.mybox {
    background: url(bg.png) no-repeat;
    direction: ltr;
    text-indent: -9999px;
}

关于文本负缩进是否会影响页面搜索排名,出现了各种不同的声音。 Anecdotal accounts 觉得Google会把文本负缩进当作垃圾广告技术来处理,但是这并未得到验证。

规则详情

规则 ID: text-indent

此规则意在 找出CSS代码中使用text-indent的潜在问题。警告出现在 text-indent的值为-99或类似(如,-100,-999),而没有使用direction:ltr时。数值的单位不会考虑在其中,因为px,em或其它单位 会看作等同。

以下示例 提示警告:

/* missing direction */
.mybox {
    text-indent: -999px;
}

/* missing direction */
.mybox {
    text-indent: -999em;
}

/* direction is rtl */
.mybox {
    direction: rtl;
    text-indent: -999em;
}

以下示例 不会提示警告:

/* direction used */
.mybox {
    direction: ltr;
    text-indent: -999em;
}

/* Not obviously used to hide text */
.mybox {
    text-indent: -1em;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 深入理解傅里叶变换Mar 12, 2017 这原本是我在知乎上对傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进...
    价值趋势技术派阅读 5,841评论 2 2
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 2,067评论 1 4
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,820评论 0 2
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,103评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,350评论 0 11