编辑:我改进了解决方案,请参见此处:https ://stackoverflow.com/a/34774905/1663572
我正在使用这个解决方案,当我试图将图像放入正方形(或其他任何东西)并将其居中时,我发现了这个解决方案。它的组合非常出色,您将 padding-bottom 和 height 0 设置为其容器 - 这使得它以固定比率响应。
适用于 IE9 及更高版本。对于 IE8 及以下需要一些 CSS hack。
HTML
.container {
height: 0;
padding-bottom: 100%; /* Or 75% for 4:3 aspect ratio */
position: relative;
overflow: hidden;
}
.container img {
display: inline-block;
max-width: 90%; /* You can use different numbers for max-width and max-height! */
max-height: 75%;
width: auto;
height: auto;
position: absolute;
left: 50%; /* This sets left top corner of the image to the center of the block... */
top: 50%; /* This can be set also to bottom: 0; for aligning image to bottom line. Only translateX is used then. */
-webkit-transform: translate(-50%,-50%); /* ...and this moves the image 50 % of its width and height back. */
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
/* Fallback for IE8 */
@media all\0 {
.container img {
margin: auto;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
}
在这里试试:http: //jsfiddle.net/thiemeljiri/uhdm4fce/4/
注意:如果使用引导程序,请将类 .container 更改为其他内容。