亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用css的cubic-bezier函數做出動態緩沖效果

發布時間:2022-02-22 15:42:04 來源:億速云 閱讀:168 作者:iii 欄目:開發技術

這篇文章主要介紹“如何用css的cubic-bezier函數做出動態緩沖效果”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何用css的cubic-bezier函數做出動態緩沖效果”文章能幫助大家解決問題。

cubic-bezier函數默認接受四個參數,cubic-bezier(x1,y1,x2,y2),其中y1、y2是可以大于或小于0的,基于此可以做出一些緩沖的過渡效果。

<template>
    <div class="menu">
        <div v-for="item in menuList">
            <div class="menu-item" @mouseover="mouseover($event, item)" @mouseleave="mouseleave">{{ item.name }}</div>
        </div>
    </div>
    <transition name="move">
        <div id="sub-menu" ref="subMenu" v-show="show" @mousemove="overSub">
            <div class="sub-menu-item" v-for="item in subMenuList">
                {{ item.name }}
            </div>
        </div>
    </transition>
</template>

<script>
import { ref } from ‘vue‘;
export default {
    setup() {
        let menuList = ref([
            {
                name: ‘cloud‘,
                children: [
                    {
                        name: ‘cloud1‘
                    },
                    {
                        name: ‘cloud2‘
                    }
                ]
            },
            {
                name: ‘software‘,
                children: [
                    {
                        name: ‘software1‘
                    },
                    {
                        name: ‘software2‘
                    },
                    {
                        name: ‘software3‘
                    }
                ]
            },
            {
                name: ‘docs‘,
                children: [
                    {
                        name: ‘docs1‘
                    },
                    {
                        name: ‘docs2‘
                    }
                ]
            }
        ]);
        let subMenuList = ref([]);
        let show = ref(false);
        return { menuList, subMenuList, show };
    },
    methods: {
        mouseover(e, item) {
            this.subMenuList = item.children;
            this.$refs.subMenu.style.left = e.target.offsetLeft + ‘px‘;
            this.$refs.subMenu.style.height = `${43 * this.subMenuList.length}px`;
            this.show = true;
        },
        mouseleave() {
            this.show = false;
        }
    }
};
</script>

<style scoped>
.menu {
    display: flex;
}
.menu-item {
    height: 40px;
    width: fit-content;
    margin-left: 20px;
    font-size: 26px;
    font-weight: lighter;
    color: #aaa;
    cursor: pointer;
}
#sub-menu {
    position: absolute;
    font-size: 32px;
    font-weight: lighter;
    color: #000;
    border: solid 1px #ccc;
    padding: 15px;
    border-radius: 10px;
}
.move-enter-active,
.move-leave-active {
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
</style>

沒有用原生的transition屬性是因為v-if不支持,所以必須結合vue的transition組件。

其中 cubic-bezier(0.175, 0.885, 0.32, 1.275);  是提供過渡效果的關鍵,可以看出整個菜單會有一個緩沖的過渡效果,視覺上也更加具有沖擊力。

關于“如何用css的cubic-bezier函數做出動態緩沖效果”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

饶阳县| 天门市| 水富县| 响水县| 新化县| 许昌县| 富锦市| 彭水| 毕节市| 岗巴县| 日喀则市| 获嘉县| 闻喜县| 宁南县| 阿拉善盟| 乌鲁木齐市| 万宁市| 图们市| 霍林郭勒市| 平泉县| 镇平县| 萨嘎县| 长治县| 西平县| 贡觉县| 两当县| 朝阳市| 成都市| 乌鲁木齐县| 太仆寺旗| 普兰店市| 木兰县| 望都县| 和平区| 和田县| 阿瓦提县| 乌兰县| 乐昌市| 无为县| 定襄县| 客服|