vue自定義指令:hover呈現(xiàn)光束

自定義指令directive的官方文檔在這了:https://cn.vuejs.org/v2/guide/custom-directive.html,就不做那么多詳細(xì)描述了,就直接上例子吧!
directive.js

import '../common/style/light.scss'
const vueLight = {}
vueLight.install = (Vue) => {
    Vue.directive('light', {
        bind(el) {
            el && el.classList.add('lightPos')
        }
    })
}

export default vueLight

light.scss

.lightPos {
    overflow: hidden;
    position: relative;
    &::before {
      content: "";
      background-color: rgba(255, 255, 255, 0.3);
      height: 100%;
      width: 2em;
      display: block;
      position: absolute;
      top: 0;
      left: -100%;
      transform: skewX(-45deg) translateX(0);
      transition: none;
      z-index: 1;
    }
    &:hover::before {
      left: 200%;
      transform: skewX(-45deg);
      transition: all 1s ease-in-out;
    }
  }

然后在main.js里引入

import vueLight from './utils/directive'
Vue.use(vueLight)

下面是效果圖,hover的時候光束會從左到右滑動


image.png

好了,自定義指令hover就寫完了,接下來就是直接在想要的元素上引入v-light就行了,如果效果不明顯,可以自己調(diào)CSS。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容