javascript - html css - 可以缩放全尺寸图像和视图
问题描述
我想为只有一张图片的网站提供 html css 解决方案。我有以下要求:
- 如果用任何浏览器打开网站,那么图片的宽度=浏览器窗口的宽度
- 你可以放大图片
我有一个解决方案,我通过 js 使用 window.screen.width * window.devicePixelRatio 查看Link来获取浏览器窗口的大小,但它不适用于所有设备。如果我使用类似的东西,我不能放大:
<img style="width:100%;" src="https://images8.alphacoders.com/712/712496.jpg">
是否有一个 css 解决方案或一个 js 解决方案,而没有获得适用于所有设备和浏览器的像素宽度?
解决方案
您可以使用复选框类型输入来查看用户是否已单击。当用户单击时,复选框进入选中状态,因此我们可以使用以下纯 CSS 解决方案。这里使用的宽度单位是“vw”(表示视口宽度),它基本上是客户端查看窗口的宽度。
*{
margin: 0;
}
img{
width: 100vw;
}
.toggle{
position: fixed;
height:100%;
width: 100%;
z-index: 2;
opacity: 0;
}
.toggle:checked+img{
width: 200vw;
}
<input type=checkbox class="toggle">
<img src="https://images8.alphacoders.com/712/712496.jpg">
希望这有效:)
推荐阅读
- javascript - Microsoft office.js Excel 插件 - 是否可以检测用户执行的 excel SAVE 操作?
- json - jq - 从环境变量创建 JSON 对象映射
- c# - Azure Devops - UI 测试无法在自托管代理上运行
- c# - 如何在 .net core 3.0 中使用 Xbim 将 IFC 3D 文件转换为 GLTF
- styled-components - 如何在样式化组件中保留自定义属性?
- ravendb - RavenDB RQL GoupBy 支持
- vue.js - 我如何动态创建 mdb vue 选项卡
- azure-devops - 在 Azure DevOps Pipeline 中将文件签入到 TFVC 的命令脚本
- android - 如何使用 cameraX 在画布上绘制动画来实现所需的 fps?
- swift - 在 viewController init 中调用时按钮文本不会改变