css - 为什么这个标签没有垂直居中?

标签 css html

fiddle :http://jsfiddle.net/pMZ5T/

HTML:

<div id="arrowcont">
    <img width="30px" height="30px" src="check.jpg" style="float:left;" />
    <div id="verticalcenter">Full Guide</div>
</div>
<br>
<br>

CSS:

#arrowcont {
    height: 40px;
    width: 275px;
    border: 1px solid black;
    vertical - align: middle;
    background - position: 0 50 % ;
}

#verticalcenter {
    vertical - align: middle;
    background - position: 0 50 % ;
}​

我想将这两个垂直居中,这样当它们彼此相邻时看起来会更好。该图像实际上是它旁边的复选标记。

我知道这个问题已经被问了很多,我什至在过去问过它,但我在另一个问题中使用了这个方法,但我仍然不能垂直居中。有人看到我哪里出错了吗?我正在尝试背景位置标签和垂直中间标签,但都不起作用?

最佳答案

这有效:http://jsfiddle.net/GyVSt/

我做了什么:

  1. #arrowcont 更改为 display: table-cell(将允许 vertical-align)
  2. img 中移除了 float: left
  3. img#verticalcenter 添加了 display: inline-block(将放置 img #verticalcenter 彼此相邻)

关于css - 为什么这个标签没有垂直居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531267/

相关文章:

html - DHL 跟踪 HTML 表单?

javascript - 我有一个 jQuery 代码,其中不透明度随着光标下降而上升。我该如何扭转它?

css - 面板 div 中的多个面板主体

html - 导航类 bootstrap4 的大小和特异性问题

javascript - 如何将点击传播到光标下的所有 div?

html - 具有对齐 div 的两列布局

javascript - 为什么这个 onMouseOut 事件在 Firefox 中没有触发?

css - 使用 css 使用 google chrome 进行文本旋转

javascript - jQuery append() - 重复追加

html - float 图像,换行文本,最小换行大小