纯CSS无表达式实现图片等比缩放(支持IE7及以上

在制作网页的时候,常常会遇到一种情况,我们需要把一些未知尺寸的图片放在一个固定宽高的容器中,这时候我们需要考虑这样的问题: 只给图片设置宽度或高度的其中一项可以实现图片等比缩放,但图片可能超出容器大小。 给图片设置固定的宽高可能导致图片变形。 有些人可能会简单地用 JavaScript解决: <img src="image-url.png" onload="if(this.width > 100){this.width = 100;}if(this.height > 100){this.height = 100;}" /> 但在这种写法在图片长宽差距较大时还是会出现图片变形的情况,优化了缩放算法的代码如下: <!doctype html> <html lang="zh-CN"> <head>         <meta charset="UTF-8">         <title>JavaScript实现图片等比缩放</title> </head> <body>         <script type="text/javascript">                 function resize(element, maxWidth, maxHeight){                         if(element.width > maxWidth || element.height > maxHeight){                                 if(element.width / element.height > maxWidth / maxHeight){                                         element.width = maxWidth;                                 }else{                                         element.height = maxHeight;                                 }                         }                 }         </script>         <img src="image-url.png" onload="resize(this, 100, 100);" /> </body> </html> 而在不考虑IE6的情况下,可以直接使用 CSS来实现,而且不需要使用低性能的CSS表达式: <!doctype html> <html lang="zh-CN"> <head>         <meta charset="UTF-8">         <title>纯CSS无表达式实现图片等比缩放</title>         <style>                 .box{                         width: 300px;                         height: 300px;                         text-align: center;                         border: 1px solid #ccc;                 }  www.2cto.com                 .box img{                         max-width: 100%;                         max-height: 100%;                         width: auto;                         height: auto;                 }         </style> </head> <body>         <div class="box"><img src="image-url.png" alt=""></div> </body> </html>  
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册