css - 文本缩进最小负值

标签 css text-indent

text-indent 属性的最小允许负值是多少?

我在我的网站中使用了一个异常巨大的值(类似于 text-indent: -99999999px),它在最近的 Google Chrome 更新中停止工作。 IE 仍然可以正常工作,但我可能需要从那里删除几个 9 才能使其再次与 Chrome 一起工作。

免责声明:是的,这个值有点太偏执了,我用它玩的很开心,直到今天屏幕上弹出文字才完全忘记了它。但通常建议的 text-indent: -9999px 可能会在(不是那么)遥远的 future 的某个时刻轻易失败?

最佳答案

安全值是可能 -32768px,但这不是规范的一部分,而是对(可能过时的)特定于实现的遗留限制的观察。

在 CSS 属性值可以在渲染时应用于元素之前,这些声明必须被解析为比字符串更有效和抽象的东西。我的意思是,您几乎可以键入任何内容作为属性值:

.a {text-indent: -999px;}
.b {text-indent: -99999999px;}
.c {text-indent: medium potato;}

第一个例子,祈祷能正确解析;最后一个无效,将被忽略(因为中型马铃薯目前不是 w3c CSS 规范的一部分);但是中间的那个会很古怪overflow (不适合浏览器分配的内存)。我整理了一个 fiddle ,这些是浏览器“阻塞”并默认为零的 text-indent 值:

#On OSX 10.8 Lion 64bit:
Safari 6       -2^31
Chrome 22      -2^26  #your original -99999999px would have failed here
Firefox 14     -2^70
Opera 12       -2^70

#On Win Server 2008 64bit:
Firefox 13     -2^70
Chrome 21      -2^70
IE 9           -2^70

这让我很好奇,明天我将在另一个盒子上进行更多测试。 以上结果已更新,没什么好兴奋的。 You can also run your own test using this fiddle - 保持可见的第一个元素将显示被忽略的应用值。 我假设这些值会因使用的浏览器/操作系统以及可能硬件而异。

我记得第一次在 an article on styling faux columns^ 中看到这样一个限制的实用引用这表明一个保守的约束是一个 16 位有符号整数(从 -32768 到 +32767)——这将适用于不仅文本缩进,还适用于其他长度值。我不知道这个值在不同浏览器及其版本之间有多一致,也不知道它对分数或以不同单位表示的值有多适用。

关于css - 文本缩进最小负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669309/

相关文章:

html - Bootstrap 网站在浏览器中看起来不错,但 div 在移动设备中无法正确呈现

javascript - 未捕获的类型错误 : elem. 替换不是函数

java - 在 Swing 中将 StyleConstants.setFirstLineIndent 设置为负数后文本模糊

visual-studio-code - Visual Studio Code - 使用制表键缩进单行

html - 文本缩进和填充不适用于跨浏览器选择

css - HTML5 样板和图像替换类 text-indent -999em

javascript - 在 HTML 输入中显示文本

css - 内部有 6 个 div 的 Div 对齐并堆叠

html - div main(bootstrap)的高度在折叠前没有覆盖其中的内容

css - 图片后文字缩进