我需要的是以下计算结果的百分比:
@media screen and (min-width: 1921px) {
.content-block {
zoom: calc (100vw divided by 15) as percentage; // <- HERE
line-height: 150%;
}
}
我不想为大屏幕创建太多媒体查询。
示例:屏幕宽度4000px除以15 = 266%缩放
EDIT:请不要JavaScript,仅CSS解决方案,..
您无需使用百分比就可以使calc值起作用。您可以使用数字来表示缩放值。值1与值100%相同。我不确定基本值是100vh时calc()返回什么,但是您可以尝试(我自己尚未测试过):
@media screen and (min-width: 1921px) {
.content-block {
zoom: calc (100vw / 1500);
line-height: 150%;
}
}
这将是4000px / 1500 = 2.666666666666667。这是与您要寻找的数字相等的数字。
正如我说的,我不确定calc的计算会返回100vh。我假设px值。我将尝试对此进行测试并相应地更新我的答案。
edit:它不起作用。这是我的测试笔。 calc输入必须是数字(%或像素或数字)
https://codepen.io/jclark86613/pen/RwweMzw
===============更新===================>
我认为没有javascript没有办法做到这一点。我能解决的最小的js答案是:
<body onresize="document.documentElement.style.setProperty('--display-height', window.screenY )"> <div class="zoom">TEXT</div> </body> :root { --display-height: 15; } .zoom { zoom: calc( var(--display-height ) / 15 ); }
这允许您使用dom运行简单的javascript(无需js文件)。笔示例:
类似的方法可能有效(您可能需要对数字进行一些调整才能获得预期的结果:]