我有一个将大小更改为窗口大小的背景图像,我需要在其上放置一个元素,以便它相对于背景图像始终位于同一位置。
如何!?
CSS
background:url("http://placehold.it/100x100") no-repeat center center fixed;
-webkit-background-size:"cover";
-moz-background-size:"cover";
-o-background-size:"cover";
background-size:"cover";
背景图像覆盖整个背景并随窗口改变大小,但通过一些叠加来保持比例。
编辑 - 2016
我使用纯 CSS 的解决方案是将元素定位在中间,然后使用 calc 函数正确偏移它。然后相应地调整它的大小,我使用 vmin 值:
$offset-top: ...;
$offset-left: ...;
.element {
top: 50%;
left: 50%;
transform: translate(calc(-50% + #{$offset-top}), calc(-50% + #{$offset-top}));
width: 50vim;
height: 50vim;
}