我有一个可能为空的字符串,在这种情况下,我想用一个特殊字符替换它,以在宽度为零的同时保持普通文本高度。在 TeX 中,这称为 \strut
。在 HTML 中对应的是什么?我想到了两个候选项:
和
。我应该使用其中之一吗?
最佳答案
在现代浏览器上,任何零宽度字符都可以完成这项工作,前提是浏览器知道该字符是零宽度或使用包含空字形的字体。但某些字符可能会产生影响,具体取决于上下文和用于处理 HTML 文件的软件。
U+2060 WORD JOINER 具有防止换行的作用。
U+FEFF ZERO WIDTH NO-BREAK SPACE 效果相同。除了作为字节顺序标记外,它已被正式弃用,但实际上它比 WORD JOINER 更常用(尽管也有异常(exception))。
U+200B ZERO WIDTH SPACE 具有允许换行的效果,即使在其他情况下是不允许的;它类似于 SPACE,但宽度为零。
对于这样的字符,通常最坏的情况是旧版本的 IE。在 IE 6 中检查显示 U+FEFF 和 U+200B 都可以,但 U+2060 显示为一个小矩形(即,浏览器尝试呈现该字符但找不到它的字形)。
所以我会使用
或
取决于我是想阻止还是允许在那个点换行。如果没关系,
使用起来更符合逻辑。
关于html - 我应该使用什么字符来保持空(零宽度)字符串的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587674/