Javascript 当图像处于';s的高度大于其宽度?
在Facebook上,当我们发布任意大小的图片时,它会完美地显示在时间线上。他们是怎么做到的 我试过跟随Javascript 当图像处于';s的高度大于其宽度?,javascript,php,html,css,Javascript,Php,Html,Css,在Facebook上,当我们发布任意大小的图片时,它会完美地显示在时间线上。他们是怎么做到的 我试过跟随 将图像设置为div的背景 CSS-宽度:100%;高度:自动 两者都不起作用,整个堆栈溢出对此没有选择,最后决定添加此项。在facebook上,它们不显示图像作为背景。使用img标签显示图像。如果你观察facebook图片的高度可能会有所不同,但宽度总是相同的。试着贴一张非常长的图片,你就会明白了 解决方案: <div> <img src="anysource"&g
两者都不起作用,整个堆栈溢出对此没有选择,最后决定添加此项。在facebook上,它们不显示图像作为背景。使用img标签显示图像。如果你观察facebook图片的高度可能会有所不同,但宽度总是相同的。试着贴一张非常长的图片,你就会明白了 解决方案:
<div>
<img src="anysource">
</div>
<style>
div{width: 480px;}
div img{width: 100%; height: auto}
</style>
div{width:480px;}
div img{宽度:100%;高度:自动}
我认为您要求的是缩放技术。您应该尝试拍摄图像并对其进行重新缩放,即使用JavaScript DOM或CSS更改其高度和宽度,然后将其重新上载到页面
您的第一个解决方案不起作用,因为图像没有显示为背景,而是使用。作为所有答案的旁白,说明实际
标记上使用的css
Facebook还将通过服务器端脚本运行所有上传,该脚本将进行大小调整和压缩
他们可能有自己的内部代码来执行此操作,但是您可以使用Imagemagick执行相同的操作,包括大小调整和裁剪上载,以便始终保持相同的宽高比(至少对于缩略图)
以下是一些例子:
对于纯css选项,您可以在使用定位参数的同时查看背景图像属性
这里有一个来自w3cschools的片段
div {
Width:100px;
Height:100px;
background-image:url('smiley.gif');
background-repeat:no-repeat;
background-position:50% 50%;
}
如果您的父级
div
具有固定尺寸,您可以使用CSS来缩放图像,同时保持横向和纵向照片的纵横比
图像将始终放在div中
.container{
宽度:400px;
高度:400px;
文本对齐:居中;
背景:红色;
}
img{
宽度:自动;
高度:自动;
最大宽度:100%;
最大高度:100%;
}
景观
肖像画
除了所有答案之外,facebook还将通过服务器端脚本运行所有上传,该脚本将进行大小调整和压缩。他们可能有自己的内部代码来做这件事,但是你可以使用imagemagick来做同样的事情,包括调整裁剪上传的大小,以便始终保持相同的宽高比(至少对于缩略图来说)。这个答案有点好,不是预期的!对于img,我们必须添加margin:auto,以便在图像小于div时自动居中。