写了一个还算优雅的图片组件
mult-transition-image-viewjavascript
截图:css
发现项目中的图片占位模块写得很不优雅,
找了一圈,发现没找到本身想要的图片组件。
因而本身写了一个。java
首先它是一个比较优雅的组件:用起来不头疼。
第二个它能实现如下场景:react
安装npm 包git
npm install react-mult-transition-image-view
代码部分github
import ImageBoxView from 'react-mult-transition-image-view' <ImageBoxView img="#你的图片#"/>
固然 你能够设置其余属性npm
<ImageBoxView width="320" // height="200" // 宽高,会转化成 style 属性 mode="style" // 使用 style 去显示图片(默认:img) img="#你要的图片#"/> // 图片路径
<ImageBoxView animate="fade" // 会触发动画样式(见下方样式部分 ) mode="style" // 使用 style 去显示图片(默认:img) img={['#小图地址#', '#大图地址#']}/> // img 传入数组形式。
当有不少图片的时候,能够让图片随机时间显示,增长图片显示出来的体验
(一块儿出来真的有点丑)数组
<ImageBoxView delay="100" // 延迟加载(默认:0),能够传入一个随机数 img="#你要的图片#"/> // 图片路径
由于 img 属性能够传入数组,因此 理论上能够加载不少图,实现幻灯片效果。
使用 wait 属性 来设置,每张图片加载后的等待时间less
<ImageBoxView animate="fade" // 会触发动画样式(见下方样式部分 ) wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0) mode="style" // 使用 style 去显示图片(默认:img) img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。
别忘了样式部分ide
.c-img-box{ display:inline-block; width: 320px; height: 200px; background: #f7f6f5; position: relative; .img-hold{ overflow: hidden; background-size: cover; background-repeat: no-repeat; background-position: center; img{ width:100%; height:100%; } &.img-animate{ transition: opacity 0.5s; } } .img-cover{ background: url('https://d.2dfire.com/om/images/menulist/7deb58da.default.png') no-repeat center/300px; background-color:#f0f0f0; } .img-cover, .img-hold, .img-hide{ position: absolute; width: 100%; height: 100%; top:0; left:0; } .img-hide{ opacity: 0; } }
喜欢的就给个 star
github: https://github.com/qilei0529/react-mult-transition-image-view