javascript - 自动缩放元素以适应视口,当不是 100% 可见时
问题描述
我的目标是按比例自动缩放元素 - 它在视口中大约 40% 可见(从底部) -transform: scale(scaleFactor)
以适应视口,基于当前视口width
和height
.
我的代码看起来像这样:
<div class="wrapper relative">
<figure id="scaleContainer">
<img id="hardware" class="absolute block" src="path/to/image.jpg">
<img id="screen" class="absolute block" src="path/to/image.jpg">
</figure>
</div>
那么如何计算scaleFactor
和transformOrigin
缩放屏幕图像以适应当前视口?
背景:我有一个基于滚动的比例动画,类似于Apple Catalina 网站。动画看起来和我一样。唯一的问题是:如何动态计算scaleFactor
和 ,transformOrigin
以便我的屏幕图像居中并在开始时覆盖整个屏幕。
我的 gsap.timeline 看起来像这样:
let timeline = gsap.timeline({ paused:true });
timeline.fromTo('#scaleContainer', {scale: scaleFactor}, {scale: 1});
注意:我要计算transformOrigin
上的y-axis
,因为图形标签不在视口中居中,所以transform-origin: center
ortransform-origin: 50% 50%
不会起作用。
我怎样才能最好地解决这个问题?感谢您的回答和想法
解决方案
推荐阅读
- vue.js - 仅用于一个视图的事件总线
- javascript - 在 d3.js v6 中以编程方式打开嵌套、折叠(隐藏)节点
- django - 在模型对象保存时刷新 UUID
- three.js - ThreeJS 着色器无法在 Chrome 上的 OnePlus 手机上正确渲染
- reactjs - moment JS 和 moment-timezone JS 解析和显示给定时区的问题
- r - 将线性回归模型应用于成对列
- rabbitmq - 在 RabbitMQ 上安装 Openstack 失败 - Centos8
- python - 在 python 中使用多处理生成唯一的值集
- mysql - 编写与 MySQL 查询等效的 MSSQL (2019) 查询
- python - 随机数作为文件名