摘要:源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請從下載代碼解讀定義,容器是一個(gè)無序列表,列表項(xiàng)代表按鈕居中顯示去掉列表項(xiàng)前面的符號設(shè)置按鈕的文字樣式用偽元素在按鈕的左側(cè)增加一個(gè)方塊用偽元素在按鈕的右側(cè)增加一條下劃線接下來設(shè)置鼠標(biāo)懸停效果。
效果預(yù)覽
按下右側(cè)的“點(diǎn)擊預(yù)覽”按鈕可以在當(dāng)前頁面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)覽。
https://codepen.io/comehope/pen/yRyOZr
可交互視頻此視頻是可以交互的,你可以隨時(shí)暫停視頻,編輯視頻中的代碼。
請用 chrome, safari, edge 打開觀看。
https://scrimba.com/p/pEgDAM/cmWMQtz
源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請從 github 下載:
https://github.com/comehope/front-end-daily-challenges
代碼解讀定義 dom,容器是一個(gè)無序列表,列表項(xiàng)代表按鈕:
居中顯示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(deepskyblue, navy); }
去掉列表項(xiàng)前面的符號:
ul { padding: 0; list-style-type: none; }
設(shè)置按鈕的文字樣式:
ul li { color: #ffffd; font-size: 25px; font-family: sans-serif; text-transform: uppercase; }
用偽元素在按鈕的左側(cè)增加一個(gè)方塊:
ul li { position: relative; } ul li::before { content: ""; position: absolute; width: 100%; height: 100%; background: tomato; left: -100%; }
用偽元素在按鈕的右側(cè)增加一條下劃線:
ul li::after { content: ""; position: absolute; width: 100%; height: 0.2em; background: tomato; bottom: 0; left: 100%; }
接下來設(shè)置鼠標(biāo)懸停效果。
當(dāng)鼠標(biāo)懸停時(shí),左側(cè)的方塊移到文字所在位置:
ul li::before { transition: 0.4s ease-out; } ul li:hover::before { left: 100%; }
右側(cè)的下劃線移到文字所在位置,它的動(dòng)畫時(shí)間延遲到方塊的動(dòng)畫快結(jié)束時(shí)再開始:
ul li::after { transition: 0.3s 0.3s ease-out; } ul li:hover::after { left: 0%; }
同時(shí),提高文字的亮度:
ul li { transition: 0.3s; cursor: pointer; } ul li:hover { color: #fff; }
隱藏掉按鈕外的部分,使方塊和下劃線在默認(rèn)狀態(tài)下都不可見,只有鼠標(biāo)懸停時(shí)它們才從兩側(cè)入場:
ul li { overflow: hidden; }
最后,在 dom 中再增加幾個(gè)按鈕:
布局多個(gè)按鈕:
ul { display: flex; flex-direction: column; align-items: center; } ul li { margin: 0.5em; }
大功告成!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/53006.html
摘要:源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請從下載代碼解讀定義,容器是一個(gè)無序列表,列表項(xiàng)代表按鈕居中顯示去掉列表項(xiàng)前面的符號設(shè)置按鈕的文字樣式用偽元素在按鈕的左側(cè)增加一個(gè)方塊用偽元素在按鈕的右側(cè)增加一條下劃線接下來設(shè)置鼠標(biāo)懸停效果。 showImg(https://segmentfault.com/img/bVbhEuH?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在...
摘要:過往項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份發(fā)布的項(xiàng)目前端每日實(shí)戰(zhàn)專欄每天分解一個(gè)前端項(xiàng)目,用視頻記錄編碼過程,再配合詳細(xì)的代碼解讀,是學(xué)習(xí)前端開發(fā)的活的參考書 過往項(xiàng)目 2018 年 8 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 7 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 6 月份項(xiàng)目匯總(...
摘要:過往項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份發(fā)布的項(xiàng)目前端每日實(shí)戰(zhàn)專欄每天分解一個(gè)前端項(xiàng)目,用視頻記錄編碼過程,再配合詳細(xì)的代碼解讀,是學(xué)習(xí)前端開發(fā)的活的參考書 過往項(xiàng)目 2018 年 8 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 7 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 6 月份項(xiàng)目匯總(...
閱讀 2440·2021-11-15 11:36
閱讀 1177·2019-08-30 15:56
閱讀 2247·2019-08-30 15:53
閱讀 1043·2019-08-30 15:44
閱讀 656·2019-08-30 14:13
閱讀 1001·2019-08-30 10:58
閱讀 480·2019-08-29 15:35
閱讀 1300·2019-08-29 13:58