JS等比例缩放图片并构建图片水平垂直居中解决方案
来源:互联网 发布:淘宝服务软件哪个好 编辑:程序博客网 时间:2024/05/20 14:28
有的时候需要展示图片的时候需要展示好看一些,就像WINDOWS文件夹图片缩略展示,图片可以等比例缩放又可以水平垂直方向都居中,这样多好?可惜网上这样的解决方案并不多,下面给出具体解决方案,希望能帮助到一些朋友!
一、JS实现图片等比例缩放
在写JS之前先了解下图片本身加载的时候会触发onload事件,这样就可以利用这个事件做一些处理了~~
<ul> <li><img src="promotion.jpg" onload="autoSize(this,100,100)"></li></ul>上面HTML代码图片加载时调用autoSize函数,函数有3个参数,依次分别为图片本身对象、父元素高度、父元素宽度
下面给出autoSize函数具体写法
function autoSize(ImgD,h,w) { var image = new Image(); image.src = ImgD.src; if (image.width<w && image.height<h) { ImgD.width=image.width; ImgD.height=image.height; } else { if (w / h <= image.width / image.height) { ImgD.width=w; ImgD.height=w * (image.height / image.width); } else { ImgD.width=h * (image.width / image.height); ImgD.height=h; } }}到此图片等比例缩放已经好了~~~
二、缩放后的图片水平垂直居中
在上一篇http://blog.csdn.net/qczxl/article/details/50013013已经给出了图片水平垂直居中的例子了。下面直接给出实现代码。
<ul> <li><img src="promotion.jpg" onload="autoSize(this,100,100)"><span></span></li> <li><img src="640.jpg" onload="autoSize(this,100,100)"><span></span></li></ul>给每个图片加兄弟标签行内标签,如span、i 等标签
样式代码:
ul { list-style-type: none; overflow: hidden; } ul li { width: 100px; height: 100px; border:1px solid #ccc; float: left; margin-right: 10px; text-align: center; } ul li span { display: inline-block; width: 0; height: 100%; vertical-align: middle; } ul li img { vertical-align: middle; }到此图片水平垂直居中也好了~~~~~
三、具体效果看下图
如有错误欢迎大家指出!
1 0
- JS等比例缩放图片并构建图片水平垂直居中解决方案
- 对图片进行等比例缩放,并水平垂直居中
- js控制图片缩放、水平和垂直方向居中对齐
- js控制图片缩放、水平和垂直方向居中对齐
- js控制图片缩放、水平和垂直方向居中对齐
- js+css图片自动等比例缩小且垂直居中
- js+css图片自动等比例缩小且垂直居中
- js+css图片自动等比例缩小且垂直居中
- js等比例缩放图片
- JS等比例缩放图片
- js等比例缩放图片
- js图片等比例缩放
- Js 等比例缩放图片
- js等比例缩放图片
- js等比例缩放图片
- js 等比例缩放图片
- JS 等比例缩放图片
- 等比例缩放图片 js
- 14.4.2 Changing the Number or Size of InnoDB Redo Log Files 改变 InnoDB Redo Log Fiels 的大小和数量
- 微软算法100道题------求一个矩阵中最大的二维矩阵(元素和最大)
- AFNetWorking框架简单使用
- UISwitch用法详解
- 有对话框时,偶尔会捕捉不到返回键
- JS等比例缩放图片并构建图片水平垂直居中解决方案
- LaTeX argmin argmax 下标使用方法
- URL解析与CI框架URL
- 中文分词器分词效果的评测方法
- 重拾《重构-改善既有代码的设计》
- Maven入门指南③:坐标和依赖
- Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
- android 项目工程之框架搭建
- PHP操作AD域入门(二)