Html 垂直对齐div中使用填充底锁定比率的图像

Html 垂直对齐div中使用填充底锁定比率的图像,html,css,Html,Css,我有一个div,它使用padding bottom:100%将div的纵横比锁定为1:1(出于响应目的): 现在,我在这个容器内有一个宽度为100%的图像。但是,图像保持在顶部,我不能在图像上使用垂直对齐:中间 有没有办法让这张图片垂直居中?JSFiddle: 不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8您可以使用绝对定位执行以下操作: (在示例中,图像背景变为绿色以显示其居中) 对于较旧的浏览器: 您可以使用absolute定位执行以下操作: (在示例中,图像背景变为绿色

我有一个div,它使用padding bottom:100%将div的纵横比锁定为1:1(出于响应目的):

现在,我在这个容器内有一个宽度为100%的图像。但是,图像保持在顶部,我不能在图像上使用垂直对齐:中间

有没有办法让这张图片垂直居中?JSFiddle:


不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8

您可以使用
绝对定位执行以下操作:

(在示例中,图像背景变为绿色以显示其居中)

对于较旧的浏览器:


您可以使用
absolute
定位执行以下操作:

(在示例中,图像背景变为绿色以显示其居中)

对于较旧的浏览器:


您可以使用
absolute
定位执行以下操作:

(在示例中,图像背景变为绿色以显示其居中)

对于较旧的浏览器:


您可以使用
absolute
定位执行以下操作:

(在示例中,图像背景变为绿色以显示其居中)

对于较旧的浏览器:


谢谢你知道transform:translate3d的浏览器兼容性吗?不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8:(你应该在问题中指定它,这样@dwreck08就不会浪费他的时间了!谢谢!工作得很好:)谢谢!你知道transform:translate3d的浏览器兼容性吗?不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8:(你应该在问题中指定它,这样@dwreck08就不会浪费他的时间了!谢谢!工作得很好:)谢谢!你知道transform:translate3d的浏览器兼容性吗?不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8:(你应该在问题中指定它,这样@dwreck08就不会浪费他的时间了!谢谢!工作得很好:)谢谢!你知道transform:translate3d的浏览器兼容性吗?不幸的是,我需要它不仅适用于IE 9,也适用于致命的IE 8:(你应该在你的问题中指定它,这样@dwreck08就不会浪费他的时间了!谢谢!工作非常完美:)
<div class="image-container">

</div>
.image-container {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background:yellow;
}
.container {
    width:300px;
}
.image-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background:yellow;
}
img {
    width:100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0px);
}
img {
    background: green;
    width:100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}