iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 27
0
自我挑戰組

網頁學習紀錄系列 第 27

鐵人賽 Day27 人員卡片介紹:加上互動色彩

人員卡片介紹除了可以做一點動態的互動外,顏色上的互動特效也是非常棒的特效效果!
這次想做的感覺如下圖:
https://ithelp.ithome.com.tw/upload/images/20190930/20119300JFgQNuB04U.png

這部分的 SCSS 如下:

.card {
    width: 385px;
    margin: 15px;
    background-color: #fff;
    border: 1px solid #a8a8a8;
    transform: translateY(0px);
    // 卡片互動,讓互動的卡片歸位
    transition: 0.3s;

    img {
        max-width: 100%;
        height: auto;
        vertical-align: middle;
        // 在圖片中置中對齊
    }

    h2 {
        font-size: 24px;
        font-weight: bold;
        border-bottom: 1px solid #333333;
        padding-bottom: 1em;
        margin-bottom: 1em;
        text-align: center;
    }

    P {
        line-height: 1.5;
        text-align: left;

    }

    &:hover {
        .text:before {
            border-left: 184px solid #ffb978;
            border-right: 184px solid #ffb978;
            //滑鼠移動到卡片後,線條顏色變成指定顏色
            *沒有加在這個區塊的原因是:線條漸變會讓三角形區塊露出破綻,會同時漸變,不會是整張卡片漸變的感覺
           
        }

        .text {
            background-image: linear-gradient(0deg, #ff6464, #ffb978);
            //滑鼠移動到卡片後,文字背景變成漸層色彩,為了從底部漸層開始設定從 0deg 往上漸層
            transition: 0.3s;
        }
    }

    .text {
        padding: 1em;
        position: relative;
        // 設定絕對定位的父元素在卡片的文字中

        &:before {
            content: '';
            //偽元素要搭配 content 不然會失效
            width: 0;
            height: 0;
            position: absolute;
            // 用絕對定位,將 display 轉為 Block
            left: 0;
            top: 0;
            // 讓三角形在定位中靠左靠上對齊
            border-top: 50px solid transparent;
            // 設定線條為transparent透明
            border-left: 184px solid #fff;
            border-right: 184px solid #fff;
            // 將左右的線條改為白色
            transform: translateY(-100%);
            // 使用變形然後位移-100%
        }
    }

    &:hover {
        transform: translateY(-50px);

        // 滑鼠移動到指定卡片會有互動   
        h2 {
            color: #fff;
            border-bottom: 1px solid #ffffff;
            //滑鼠移動後 h2 的互動特效,文字與底線變成白色
            transition: 0.3s;
        }

        p {
            color: #fff;
            //滑鼠移動後 p 的互動特效變成白色
            transition: 0.3s;
        }
    }

}

雖然這一篇很簡單,但魔鬼藏在細節裡,這一篇優化的過程中需要考慮視覺與使用者體驗的考量,並且在顏色的選擇上也很重要,很多地方也容易犯錯,在撰寫時要釐清楚是什麼東西要變色,而不是亂加一通!!

codepen https://codepen.io/hnzxewqw/pen/LYPKYVO


上一篇
鐵人賽 Day26 首次參加六角學院同學會
下一篇
鐵人賽 Day28 側邊選單切版練習
系列文
網頁學習紀錄30

尚未有邦友留言

立即登入留言