1. 程式人生 > >23.1純 CSS 創作一個菜單反色填充特效

23.1純 CSS 創作一個菜單反色填充特效

before blank otto borde ali 寬高 none overflow css

交互效果地址:https://scrimba.com/c/cEwREJs6

HTML代碼:

<nav>
    <ul>
        <li><span>Home</span></li>
    </ul>
</nav>

CSS代碼:

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items
: center; background: linear-gradient(to right bottom,gold, chocolate); } /* 為容器設置寬高,此處定義的變量 x 和 y 後面還會用到 */ :root{ --x: 5em; --y: 1.5em; } nav ul{ padding: 0; } nav ul li{ position: relative; width: var(--x); height: var(--y); margin: 0.5em; line-height
: var(--y); list-style-type: none; font-size: 40px; text-align: center; font-family: sans-serif; background-color: white; border: 2px solid black; letter-spacing: 0.1em; /* overflow: hidden; */ } /* 用偽元素畫出一個小球,放到菜單項左端 */ nav ul li::before{ position: absolute
; content: ‘‘; width: 0; height: var(--y); background-color: black; top: 0; left: 0; transition: 0.5s ease-out; } /* 用 mix-blend-mode 設置色彩混合模式,使小球覆蓋的文字反色顯示 */ nav ul li span{ color: white; mix-blend-mode: difference; } nav ul li:hover::before{ width: var(--x); }

23.1純 CSS 創作一個菜單反色填充特效