html - 垂直居中的东西,在 IMG 内

标签 html css

抱歉乱码:

<div style="position: relative;">
    <div style="position: absolute; top: 50%;">This should be vertically centered</div>
    <img src="http://phaseoneimageprofessor.files.wordpress.com/2013/07/iqpw29_main_image_.jpg" width="100%" style="visibility: hidden; position: absolute;"; />
  <img src="http://phaseoneimageprofessor.files.wordpress.com/2013/07/iqpw29_main_image_.jpg" width="100%" />
</div>

http://jsfiddle.net/a5as2/

如您所见,文本几乎垂直居中 - 但是当您缩小宽度时,您会发现这并非 100% 精确。现在要修复什么<

最佳答案

纯 css 解决方案是为内部 div 设置一个高度,并为其添加 margin: -height/2 px。

例子:

  <div style="position: absolute; top: 50%; height: 20px; margin-top: -10px;">This should be vertically centered</div>

如果不知道div的高度,可以用js获取,然后重新定位div。

会是这样的(jQuery,直接回答所以可能有一些问题,请调整它。):

   $("#idDiv").css("margin-top") = parseInt($("#idDiv").height() / 2) + "px"; 

另一种解决方案是使用 table-cell 显示和 vertical-align: middle(我个人不喜欢它,但可能适合您的需要)。

关于html - 垂直居中的东西,在 IMG 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990357/

相关文章:

javascript - masonry 不起作用

javascript - 在 Angular JS 中使用 Ng-Hide 延迟隐藏按钮

javascript - 变换 + 过渡(旋转)图像 x 度

.net - ASP.NET - 获取屏幕特定区域的屏幕截图?

jquery - 对于具有 CSS 定义的光标的 div,如果在该 div 隐藏时鼠标不移动,IE 不会自动重置光标

javascript - 如何使 google recaptcha 响应宽度为 100%

javascript - 紫藤背景视频

javascript - 用于选择 DOM 元素的非特定 JS

php - 在 HTMl 和 PHP 中向表单添加字段

jquery - 将一个 `div` 无边框的分成两半,并以 `Z` 的方式为掉落的 div 提供索引