我有一个简单的网页,其中包含一个图像和下面的一些文本。种类(简单)JavaScript以一个图像填充浏览器
<html>
<body>
<img src="image.jpg" width="1920" height="1024">
<br/>
<p>Image description</p>
</body>
</html>
现在我希望图像在浏览器中显示完整,无论大小和设备如何。屏幕的其余部分应该是黑色(或其他颜色),文本应该在下面,以便观众可以向下滚动。 我想这可以在Javascript中完成,但我真的没有线索如何开始。我确实有图像大小,但我当然不知道浏览器分辨率,也不知道如何调整屏幕上的图像大小。
如何将图像填充到浏览器中?
[更新]一些说明:图像可能处于横向或纵向方向,我总是想要显示完整的图像。因此,对于肖像方向的图像,图像应该以高度=屏幕高度的屏幕为中心,并且图像的左右空间应该是一些纯色(黑色?)。 图像应保持原有的长宽比,不变形。
[更新2]随着托马斯代码,帮助我得到这个代码,这是近有:
<img id="imageX" src="stjuergenkirchenachts.jpg"/>
<script type="text/javascript">
var imgWidth = 4912.0;
var imgHeight = 7360.0;
var scale = Math.min(window.innerHeight/imgHeight, window.innerWidth/imgWidth);
var image = document.getElementById('imageX');
image.style.height = (imgHeight * scale) + 'px';
image.style.width = (imgWidth * scale) + 'px';
</script>
demrks回答来实现这个只是用CSS是很酷,但我不希望图像作为背景为了seo和可用性的原因(例如没有alt标签)。
删除宽度和高度属性并添加style =“width:100%;” – Leeish
无论图像比例如何,您是否想将该图像拉伸至100%的高度/宽度? – putvande
尝试把div代替,并使用图像作为背景'背景大小:封面'(CSS3) – haldagan