html - 在 anchor 中垂直对齐跨度时结果不一致,HTML5 与 XHTML

标签 html xhtml-transitional

我有一个简单的 anchor 标记,里面有一个跨度,我想将其垂直对齐。

我可以使用 HTML5 文档类型,但相同的标记和 CSS 无法使用 XHTML1-Transitional 文档类型。我不仅想了解为什么它在 XHTML 模式下不起作用,而且还想了解在两种模式下都可以工作的正确方法是什么:)

HTML

<a href="#">
    <span></span>
</a>

CSS

a {
  background-color: #2c0200;
  font-size: 11px;
  height: 30px;
  display: inline-block;
  line-height: 30px;
}

span {
  display: inline-block;
  vertical-align: text-top;

  background-image: url(http://upload.wikimedia.org/wikipedia/commons/b/b2/Happy_icon-16x16.gif);

  width: 14px;
  height: 14px;
}

XHTML-过渡结果:

XHTML-Transitional

HTML5 结果:

enter image description here

这些结果在 Chrome 和 IE9 中是相同的。以下是每个的 JSFiddle:

XHTML: http://jsfiddle.net/4r4af/

HTML5: http://jsfiddle.net/9wyg8/

最佳答案

这个更新的 CSS 对我有用:

a {
  background-color: #2c0200;
  font-size: 14px;
  height: 30px;
  display: table-cell;
  vertical-align:middle;
}

这是 XHTML fiddle 的 fork 版本:

http://jsfiddle.net/tFXRN/

关于html - 在 anchor 中垂直对齐跨度时结果不一致,HTML5 与 XHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602872/

相关文章:

html - 使用 XSLT 设置 HTML5 文档类型

javascript - 以下内容是有效的 XHTML 1.0 Transitional 吗?

html - 如何使悬停可点击?

javascript - 使用javascript将td宽度更改为百分比

html - 内联内容上方和下方的空间

Javascript: document.images[].complete 在 IE 中不工作

html - IE 中的边距问题

javascript - 有没有办法 "onload"在文本区域中打开 TXT 文件并在关闭或 URL 更改时自动保存它?

html - 如何转换 z-index?