html - 无论屏幕大小如何,都能保持图像分辨率
问题描述
我正在 ionic 4 上开发一个移动应用程序,它在主屏幕上有一个图像。无论屏幕大小如何,我都希望保持图像的分辨率。即,如果屏幕是 300 像素宽,我的图像仍然是 666 像素宽,您只需左右滚动即可查看整个内容。
我尝试在css文件中将像素宽度和高度标记为“!important”,只是图像被挤压
http代码
<head>
<style>
.map
{
position: relative;
top: 0;
left: 0;
height: 887px !important;
width: 666px !important;
}
</style>
</head>
<ion-content padding>
<pinch-zoom>
<div>
<img class = "map"
id = "map"
src = "../../assets/img/limerickmap.JPG"
alt = "map"/>
<img class = "avatar"
id = "avatar"
src = "../../assets/img/satan.png"
alt = "avatar" />
</div>
</pinch-zoom>
</ion-content>
解决方案
无论视口大小如何,您都希望保持图像分辨率。
Rudi Urbanek 的回答只是将图像的视口大小加倍,所以如果您的图像是 666 像素并且您的视口宽度是 300 像素;图像将显示在600px
。
这并不能解决您提出的问题。
所以....
相反,您应该将宽度设置为“自动”,并且浏览器将采用指定/子元素(图像)的宽度。
它还有助于了解两件事:
- 没有宽度或高度的HTML
img
标记将始终默认为图像的自然大小。 - 在某些情况下,CSS 百分比宽度或高度将是屏幕大小或父级的百分比。
试试这个:
.map
{
position: relative;
top: 0;
left: 0;
height: auto;
width: auto;
overflow: visible; /* should not be needed but will ensure your image is not cut off */
}
而且您的<img>
标签已经没有指定width=""
or height=""
,所以这对这种情况很有好处。
(参考)
推荐阅读
- javascript - 访问成员时对象数组返回未定义
- python - 根据另一行的值更改熊猫数据框中的一行
- selenoid - 有什么办法可以将 selenoid-ui 的默认端口从 8080 更改为其他端口
- saxon - 警告:无法识别的元素 xsl:variable online running saxon 但不在 Oxygen 中,为什么?
- arrays - 返回具有对象中某些属性的数组对象。打字稿
- c# - json反序列化中的日期时间字段
- android - 单击 Mapview 中的特定标记后,如何从 Firestore 数据库中获取有关活动的特定数据?
- testing - 导出脚本
- node.js - 节点错误:“SyntaxError: Unexpected token {” at “const {join, basename} = require('path')”
- node.js - 在 Google Cloud Run 中使用默认凭据的域范围委派