成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端每日實戰(zhàn):126# 視頻演示如何用純 CSS 創(chuàng)作小球變矩形背景的按鈕懸停效果

U2FsdGVkX1x / 2669人閱讀

摘要:效果預(yù)覽按下右側(cè)的點擊預(yù)覽按鈕可以在當前頁面預(yù)覽,點擊鏈接可以全屏預(yù)覽??山换ヒ曨l此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。

效果預(yù)覽

按下右側(cè)的“點擊預(yù)覽”按鈕可以在當前頁面預(yù)覽,點擊鏈接可以全屏預(yù)覽。

https://codepen.io/comehope/pen/yxbEzJ

可交互視頻

此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。

請用 chrome, safari, edge 打開觀看。

https://scrimba.com/p/pEgDAM/cGanPU6

源代碼下載

每日前端實戰(zhàn)系列的全部源代碼請從 github 下載:

https://github.com/comehope/front-end-daily-challenges

代碼解讀

定義 dom,導(dǎo)航中包含一個無序列表,列表中有一個列表項:

居中顯示:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: lightyellow;
}

隱藏列表項前端的引導(dǎo)符號:

nav ul {
    padding: 0;
    list-style-type: none;
}

設(shè)置容器尺寸:

nav li {
    width: 8em;
    height: 2em;
    font-size: 25px;
}

設(shè)置文字樣式:

nav li {
    font-size: 25px;
    text-align: center;
    line-height: 2em;
    font-family: sans-serif;
    text-transform: capitalize;
}

添加偽元素,偽元素是 2 個小球:

nav li {
    position: relative;
}

nav li::before,
nav li::after {
    content: "";
    position: absolute;
    width: 0.6em;
    height: 0.6em;
    background-color: gainsboro;
    border-radius: 50%;
}

把小球定位在左右兩端:

nav li::before {
    top: calc(50% - 0.6em / 2);
    left: 0;
}

nav li::after {
    bottom: calc(50% - 0.6em / 2);
    right: 0;
}

接下來設(shè)置按鈕懸停效果。

當鼠標懸停在按鈕上時,讓小球變?yōu)榕c容器大小相等的矩形:

nav li:hover::before,
nav li:hover::after {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

第其中一個矩形稍向右下角錯位,并且加深它的顏色,形成陰影效果:

nav li:hover::before {
    z-index: -1;
    top: 0;
}

nav li:hover::after {
    z-index: -2;
    bottom: -0.4em;
    right: -0.4em;
    filter: brightness(0.8);
}

設(shè)置懸停的顏色,偽元素的矩形背景變?yōu)樗{色,文字變?yōu)榘咨?/p>

nav li:hover {
    color: white;
}

nav li:hover::before,
nav li:hover::after {
    background-color: dodgerblue;
}

設(shè)置緩動時間,其中偽元素的緩動時間函數(shù)用擬人的動畫效果:

nav li {
    transition: 0.5s;
}

nav li::before,
nav li::after {
    transition: 0.5s cubic-bezier(0.5, -0.5, 0.25, 1.5);
}

再增加幾個按鈕:

最后,增加按鈕之間的間距:

nav li {
    margin: 0.8em;
}

大功告成!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/54581.html

相關(guān)文章

  • 前端每日實戰(zhàn)126# 視頻演示何用 CSS 創(chuàng)作小球矩形背景按鈕懸停效果

    摘要:效果預(yù)覽按下右側(cè)的點擊預(yù)覽按鈕可以在當前頁面預(yù)覽,點擊鏈接可以全屏預(yù)覽??山换ヒ曨l此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。 showImg(https://segmentfault.com/img/bVbgnoQ?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點擊預(yù)覽按鈕可以在當前頁面預(yù)覽,點擊鏈接可以全屏預(yù)覽。 https://codepen.io/comehop...

    didikee 評論0 收藏0
  • 前端每日實戰(zhàn) 2018 年 9 月份項目匯總(共 26 個項目)

    摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發(fā)布的項目前端每日實戰(zhàn)專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發(fā)的活的參考書 過往項目 2018 年 8 月份項目匯總(共 29 個項目) 2018 年 7 月份項目匯總(共 29 個項目) 2018 年 6 月份項目匯總(...

    lavnFan 評論0 收藏0
  • 前端每日實戰(zhàn) 2018 年 9 月份項目匯總(共 26 個項目)

    摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發(fā)布的項目前端每日實戰(zhàn)專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發(fā)的活的參考書 過往項目 2018 年 8 月份項目匯總(共 29 個項目) 2018 年 7 月份項目匯總(共 29 個項目) 2018 年 6 月份項目匯總(...

    whatsns 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<