javascript将图像调整为全屏并保持纵横比


javascript resize image to fullscreen and maintain aspect ratio

我有一个移动幻灯片,我想为它提供全屏选项。我创建了一个伪全屏CSS,它工作得很好,但它会拉伸图像以填充。我尝试过一些技术,比如将它包装在div中,并将CSS设置为高度和宽度的自动,但它仍然可以拉伸。

CSS只是将所有内容设置为0上下左右。我知道这是一个"黑客",但这对我的HTML5视频非常有效,它甚至保持了比例。不过对图像来说并不是那么热门。我已经尝试过CSS3对象,但它几乎没有浏览器支持afaik。

有没有办法让图像全屏显示并保持纵横比?可能使用类似信箱的外观来填充其他空间(垂直或水平)。我需要它是动态的,这样它就可以在多个不同屏幕大小的移动设备上工作。我在我的移动设备上的谷歌图像上看到了这项工作,但显然他们比我更聪明

我在后端使用jQueryMobile和PHP。我认为JS解决方案是最好的,但PHP也很受欢迎。

我相信您正在寻找background-size属性。从CSS3开始,您可以将其设置为containcover

包含,它指定背景图像应缩放到尽可能大,同时确保其两个尺寸都较小大于或等于背景的相应尺寸定位区域。

cover,指定背景图像应缩放到尽可能小,同时确保其两个尺寸都更大大于或等于背景的相应尺寸定位区域。

MDN文档:https://developer.mozilla.org/en/CSS/background-size

background-size : cover将是全屏图像,而background-size : contain将是信箱效果。