这是我参与8月更文挑战的第26天,活动详情查看:8月更文挑战
Mixin
小组件是作者写的一些方便使用的特别小组件,添加了一些动态效果,看起来挺有趣的,学习一下实现方式吧。
首先是一些button组件,添加了悬浮的动态效果,鼠标放上去的时候,会转换成最左这样的样式,有几种常见的颜色可以选择。这一部分整体包裹在el-card里
下面的按钮用的是router-link,这个动态样式的按钮,class是pan-btn 后面的blue-btn指定了按钮的颜色
pan-btn的样式写在@/styles/btn.scss,写了一堆css,后端属实看不明白,知道动效是它添加的就好了。
但是给btn添加颜色的逻辑,还是能看懂的(虽然也是没见过的写法)colorBtn居然能接收一个变量,替换colorBtn里面的$color,减少了一些代码量,惊了。
然后是一个md-input的组件,和普通input用法一样,只是在点击的时候有一个动效,会在左上方展示placeholder。看组件代码的时候,发现了源码的一个小bug,原本页面上的icon是不展示的,我比较好奇这个参数有什么用,然后看到了,这里icon是el-icon-search,其实是没有展示的,应该写search就行了,因为在组件里进行拼接了
这样才能正确的显示出icon
组件内部写了一堆input,用v-if判断,接收了一堆常见的input参数,例如placeholder,readonly,disabled,然后通过css实现动态效果。
接着是pan-thumb 图片hover的效果,
引入这个组件,提供一个img的url就行了,下面的文字是图片旋转后,显示的文字
实现方式是给div加上了一堆css,看起来属实费力,用到再看吧