容器中的图像可以从其中心缩放吗?
Can an image in a container scale from its center?
这里我有一张图片,它会随着浏览器的加宽而缩放 window,直到它达到 600 像素高,这是其父容器的最大高度。此时,图像相对于图像的顶部被裁剪。是否可以让图像在其父容器中垂直居中,以便图像从其中心缩放?它需要保留图像,而不是背景图像。
<html>
<head>
<meta charset="utf-8" />
<style type="text/css">
.full-width {
max-height: 600px;
overflow: hidden;
}
img.full {
width: 100%;
display: block;
}
</style>
</head>
<body>
<section class="full-width">
<img class="full" src="http://toprival.com/temp/panda/images/panda.jpg" />
</section>
</body>
你可以这样做:
img.full {
width: 100%;
display: block;
top: 50%;
transform: translateY(-50%);
}
它将图像自上而下移动到容器高度的 50%,然后再向上移动到图像高度的 50%,从而使其垂直居中。
但是,容器元素需要一个定义的高度和 position
设置 relative
才能工作。
...你可以对水平居中做同样的事情:left: 50%; transform: translateX(-50%);
这里我有一张图片,它会随着浏览器的加宽而缩放 window,直到它达到 600 像素高,这是其父容器的最大高度。此时,图像相对于图像的顶部被裁剪。是否可以让图像在其父容器中垂直居中,以便图像从其中心缩放?它需要保留图像,而不是背景图像。
<html>
<head>
<meta charset="utf-8" />
<style type="text/css">
.full-width {
max-height: 600px;
overflow: hidden;
}
img.full {
width: 100%;
display: block;
}
</style>
</head>
<body>
<section class="full-width">
<img class="full" src="http://toprival.com/temp/panda/images/panda.jpg" />
</section>
</body>
你可以这样做:
img.full {
width: 100%;
display: block;
top: 50%;
transform: translateY(-50%);
}
它将图像自上而下移动到容器高度的 50%,然后再向上移动到图像高度的 50%,从而使其垂直居中。
但是,容器元素需要一个定义的高度和 position
设置 relative
才能工作。
...你可以对水平居中做同样的事情:left: 50%; transform: translateX(-50%);