Rumah  >  Artikel  >  hujung hadapan web  >  CSS如何实现图片等比例缩放不变形(代码实例)

CSS如何实现图片等比例缩放不变形(代码实例)

yulia
yuliaasal
2018-09-15 15:26:5018627semak imbas

 在工作中经常需要对图片进行缩放,但有些缩放会让图片变形,所以今天就给大家介绍CSS如何实现图片等比例缩放不变形,正在学习CSS的小伙伴赶紧过来看看吧!

下面一段代码给大家介绍CSS实现图片等比例缩小不变形 ,具体代码如下所示:

<img src="../images/bg1.jpg" alt="" />
      img {
           /*等宽缩小不变形*/
           /*width: 100%;*/
           /*二选一*/
           /*等高缩小不变形*/
           height: 100%;
       }

 补充:CSS控制图片大小不变形

方法一、(不错,我正在用)

img {max-width:630px;myimg:expression_r(onload=function(){this.style.width=(this.offsetWidth > 630)?"630px":"auto"});}

设置最大宽度是630px 如果大于630就把图片宽度设置为630 高度就会随着比例也会缩小 不会造成图片变形

方法二

img,a img{
border:0;
margin:0;
padding:0;
max-width:590px;
width:e-xpression(this.width>590?"590px":this.width);
max-height:590px;
height:e-xpression(this.height>590?"590px":this.height);
}

方法三

div img {
max-width:600px;
width:600px;
width:expression(document.body.clientWidth>600?”600px”:”auto”);
overflow:hidden;
}

max-width:600px; 在IE7、FF等其他非IE浏览器下最大宽度为600px。但在IE6中无效。

width:600px; 在所有浏览器中图片的大小为600px;

当图片大小大于600px,自动缩小为600px。在IE6中有效。

overflow:hidden; 超出的部分隐藏,避免控制图片大小失败而引起的撑开变形。

4.如果想设定图片的高度和宽度都不超过某一个固定值,就需要在图片高度或宽度超过这个值的时候,让图片按比例缩小到这个尺寸。

(1)对于现代浏览器,比如Firefox或是IE7及以上,直接使用max-width和max-height两条CSS属性即可。

(2)对于IE 6.0及以下版本,以上两条CSS属性均不会被理会。之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件。例如:

<imgsrc="..."alt="..."onload="resizeImage(this)"/>
<script type="text/javascript">
  functionresizeImage(obj){
  obj.width=obj.width>50&&obj.width>obj.height?50:auto;
  obj.height=obj.height>50?50:auto;
  }
</script>

总结:以上所述是小编给大家介绍的CSS实现图片等比例缩小不变形的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

Atas ialah kandungan terperinci CSS如何实现图片等比例缩放不变形(代码实例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel berkaitan

Lihat lagi