css - 即垂直对齐 :super/sub incorrect

标签 css vertical-alignment

我想为 span 元素应用 super /子垂直对齐 css 属性。这样做之后,跨度内的单词就会呈现在正确的位置。但是,包含这些词的 span 在 IE 下看起来像是放在了错误的位置(基线位置)。它在除 IE 之外的其他浏览器下工作正常。

更有趣的是,我发现如果我将一个属性 contenteditable="true"分配给 span 元素,它的位置就会变得正确(...)。

你们可以在这里查看(有属性 contenteditable="true"top position 是 0 没有属性 contenteditable="true"top position 是 7): http://jsfiddle.net/E5Af9/

您可以尝试删除第一个蓝色跨度上的 contenteditable="true"以查看会发生什么。它的行为就像我上面所说的。

除了在 span 元素上添加不确定属性之外,我想要更安全的选择。 有人对此有想法吗?或者谁能​​告诉我在 span 中使用 contenteditable 是否会有副作用。

最佳答案

即使在 IE 7 模式下,我也看不到 IE 9 上的问题。我不确定什么被认为是问题,因为描述似乎是说 span 内的单词呈现正确但 span 不是——我不明白这可能意味着什么。

无论如何,vertical-align 在浏览器中有一些怪癖,甚至根据规范,它可能会影响行高,这通常是不受欢迎的。因此,通常最好使用相对定位。例如,而不是

vertical-align: 1ex;

你可以设置

position: relative; bottom: 1ex;

它们的关键字值 supersub 具有依赖于实现的含义,除了在不同浏览器之间有所不同之外,它们通常在排版上不合适。垂直放置一般要根据周围的字符和字体,所以最好自己设计,一般使用em 单位或ex 单位,而不是仅仅告诉浏览器应用上标或下标的想法。

关于css - 即垂直对齐 :super/sub incorrect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603668/

相关文章:

html - 表格在手机上不可见

css - 如何将列表项显示为列?

html - 使用 CSS,即使字体大小发生变化,我如何垂直对齐此图标和文本?

html - 如何垂直对齐(对齐)多个元素

html - 从下到上垂直对齐文本

ios - 在不规则形状的 UITextView 中垂直居中文本

javascript - 调整大小事件不适用于绑定(bind)功能

javascript - 如何隐藏在jquery点击功能后显示的隐藏div

wordpress - 在 Wordpress 中,如何使图像的宽度大于我用于文本的 -moz-column-width 属性?

jquery - 使用 CSS 和 jQuery 使跨度类可见时出现问题