html - 我应该使用什么字符来保持空(零宽度)字符串的高度?

标签 html

我有一个可能为空的字符串,在这种情况下,我想用一个特殊字符替换它,以在宽度为零的同时保持普通文本高度。在 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/

相关文章:

javascript - jquery 不能正常工作或者我是个笨蛋

javascript - jQuery .blur() - 不要隐藏事件的 div

javascript - 如何传递表单数据并重定向到另一个页面

html - 输入字段在焦点上更改其位置

javascript - 在页面加载之前是否有用于加载器图像的 jquery 插件?

php - 只有第一个词填充提交按钮上的值字段

html - 关于绝对定位属性

javascript - 动态调整字体大小以适应容器大小

html - 如何仅使用 CSS 制作圆形面包屑

javascript - 基于用户登录或未登录的php表单操作