我想使用一个变换:缩放比例,其中我的宽度更改为80vw,我的高度为自动。这就是我想要的= transform: scale(80vw, auto);
。不幸的是,这行不通。还有另一种方法来获得这种效果。最好不要使用javascript。
答案 0 :(得分:0)
transform Scale()不使用单位。它更像是一个比率,所以scaleX(0.5)会将div缩放到一半,依此类推。
.normal{
background: red;
}
.scaled{
width:100vw;
transform:scaleX(0.8);
background:green;
}
<div class="normal">
normal
</div>
<div class="scaled">
scaled
</div>
答案 1 :(得分:0)
var range = 1 / 400;
var vw = range * Math.min(window.innerWidth, window.innerHeight);
document.documentElement.style.setProperty('--vw-scale', `${vw}`);
window.addEventListener('resize', () => {
document.documentElement.style.setProperty('--vw-scale', `${range * Math.min(window.innerWidth, window.innerHeight)}`);
});
.scale-element {
width: 400px;
transform: scale(var(--vw-scale));
transform-origin: left top;
}
h1 {
font-size: 25px;
}
<div class="scale-element">
<h1>Test title</h1>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Sed, et. Deserunt officiis provident quod perferendis dolore dolores enim sint veniam ea odio ratione, repudiandae distinctio, aliquid possimus commodi cupiditate voluptas!
</p>
</div>
即使不直接使用 calc 函数,它也可以接近它。 对于测试和调整屏幕大小,您应该在整页选项中查看它。