react实现一个优雅的图片占位模块组件详解

网友投稿 475 2023-03-22


react实现一个优雅的图片占位模块组件详解

前言

发现项目中的图片占位模块写得很不优雅,找了一圈,发现没找到自己想要的图片组件。于是自己写了一个,写了一个还算优雅的图片组件:mult-transition-image-view

截图:

功能简介

首先它是一个比较优雅的组件:用起来不头疼。

第二个它能实现以下场景:

没有图片的时候,显示一个占位图(可以直接用css来写背景,方便自定义)

希望在加载大图的时候,能先占位一张小图,然后再过渡到一张大图。类似上面的截图。

使用方法

安装npm 包

npm install react-mult-transition-image-view

代码部分

import ImageBoxView from 'react-mult-transition-image-view'

当然 你可以设置其他属性

width="320" //

height="200" // 宽高,会转化成 style 属性

mode="style" // 使用 style 去显示图片(默认:img)

img="#你要的图片#"/> // 图片路径

小图过渡到大图的效果

animate="fade" // 会触发动画样式(见下方样式部分 )

mode="style" // 使用 style 去显示图片(默认:img)

img={['#小图地址#', '#大图地址#']}/> // img 传入数组形式。

实现随机显示图片

当有很多图片的时候,可以让图片随机时间显示,增加图片显示出来的体验

(一起出来真的有点丑)

delay="100" // 延迟加载(默认:0),可以传入一个随机数

img="#你要的图片#"/> // 图片路径

幻灯片效果

因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。

使用 wait 属性 来设置,每张图片加载后的等待时间

animate="fade" // 会触发动画样式(见下方样式部分 )

wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0)

mode="style" // 使用 style 去显示图片(默认:img)

img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。

样式部分

别忘了样式部分

.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;

}

}

TODO

github: https://github.com/qilei0529/react-mult-transition-imhttp://age-view

本地下PZxuTMsr载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

width="320" //

height="200" // 宽高,会转化成 style 属性

mode="style" // 使用 style 去显示图片(默认:img)

img="#你要的图片#"/> // 图片路径

小图过渡到大图的效果

animate="fade" // 会触发动画样式(见下方样式部分 )

mode="style" // 使用 style 去显示图片(默认:img)

img={['#小图地址#', '#大图地址#']}/> // img 传入数组形式。

实现随机显示图片

当有很多图片的时候,可以让图片随机时间显示,增加图片显示出来的体验

(一起出来真的有点丑)

delay="100" // 延迟加载(默认:0),可以传入一个随机数

img="#你要的图片#"/> // 图片路径

幻灯片效果

因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。

使用 wait 属性 来设置,每张图片加载后的等待时间

animate="fade" // 会触发动画样式(见下方样式部分 )

wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0)

mode="style" // 使用 style 去显示图片(默认:img)

img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。

样式部分

别忘了样式部分

.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;

}

}

TODO

github: https://github.com/qilei0529/react-mult-transition-imhttp://age-view

本地下PZxuTMsr载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

animate="fade" // 会触发动画样式(见下方样式部分 )

mode="style" // 使用 style 去显示图片(默认:img)

img={['#小图地址#', '#大图地址#']}/> // img 传入数组形式。

实现随机显示图片

当有很多图片的时候,可以让图片随机时间显示,增加图片显示出来的体验

(一起出来真的有点丑)

delay="100" // 延迟加载(默认:0),可以传入一个随机数

img="#你要的图片#"/> // 图片路径

幻灯片效果

因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。

使用 wait 属性 来设置,每张图片加载后的等待时间

animate="fade" // 会触发动画样式(见下方样式部分 )

wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0)

mode="style" // 使用 style 去显示图片(默认:img)

img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。

样式部分

别忘了样式部分

.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;

}

}

TODO

github: https://github.com/qilei0529/react-mult-transition-imhttp://age-view

本地下PZxuTMsr载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

delay="100" // 延迟加载(默认:0),可以传入一个随机数

img="#你要的图片#"/> // 图片路径

幻灯片效果

因为 img 属性可以传入数组,所以 理论上可以加载很多图,实现幻灯片效果。

使用 wait 属性 来设置,每张图片加载后的等待时间

animate="fade" // 会触发动画样式(见下方样式部分 )

wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0)

mode="style" // 使用 style 去显示图片(默认:img)

img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。

样式部分

别忘了样式部分

.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;

}

}

TODO

github: https://github.com/qilei0529/react-mult-transition-imhttp://age-view

本地下PZxuTMsr载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

animate="fade" // 会触发动画样式(见下方样式部分 )

wait="100" // 每张图片加载完后,继续加载下一张的时间(默认:0)

mode="style" // 使用 style 去显示图片(默认:img)

img={['#图片1#', '#图片2#', '#图片3#']}/> // img 传入数组形式。

样式部分

别忘了样式部分

.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;

}

}

TODO

github: https://github.com/qilei0529/react-mult-transition-imhttp://age-view

本地下PZxuTMsr载:http://xiazai.jb51.net/201710/yuanma/react-mult-transition-image-view(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Vue实战之vue登录验证的实现代码
下一篇:接口测试用例英文简称什么(接口测试用例怎么设计的)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~