javascript - 关于js控制图片显示的问题,急求,谢大神!!!
高洛峰
高洛峰 2017-04-11 09:44:15
0
4
531

页面上有一个栏目,该p层大小固定,比如400400,照片需要经常替换,照片的尺寸不固定,可能是横版也可能是竖版的。如何设置JS+CSS,使照片只显示400400像素(照片主体内容需显示完整),四周隐藏,而不致图片失真呢?
网上找的方法1:但是显示不完整
<p style="width:400px;height:400px;overflow:hidden;"><img src="123.jpg"
onload="this.style.marginTop=500-this.height;this.style.marginLeft=500-this.width;" /></p>

方法2.onload="this.style.marginTop = (parseInt(this.parentNode.style.height) - this.height)/2 + 'px';this.style.marginLeft = (parseInt(this.parentNode.style.width) - this.width) /2 + 'px'"
和方法1基本没啥差别,图片显示不完全,比如1400*500的图片,只显示了右下角一点点,内容都不完整了
大神们求好的方法?????

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all(4)
左手右手慢动作

多图的话, 可以js 每次切换缓存一个图片

var image = document.createElement( "img" );
image.src = "https://gss0.bdstatic.com/7051cy89QMgCncy6lo7D0j9wexYrbOWh7c50/liuwei/80x120.gif?t=1480320379589"

console.log:

image.height
120
image.width
80

然后再在你需要显示的p中通过backgroud指定图片的position来控制, 尺寸有了, 位置自己写一个算法即可

PHPzhong

直接把img 宽度设成100% 就可以了,撸主试试

左手右手慢动作

这样。。不知你对兼容性要求如何。

<p style="background-image:url(images/goods.jpg)"></p>
p{
  width:400px;
  height:400px;
  background-positon:center;
  bgckground-size:cover;
}
伊谢尔伦
p {
  position: relative;
}
img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 400px;
  max-height: 400px;
  transform: translate(-50%, -50%);
}

不知道这样是不是你要的效果

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!