在前端開發中,倒計時是一個經常遇到的需求,而帶有倒計時功能的按鈕則更加符合實際需求。那么如何通過CSS實現按鈕倒計時的效果呢?
.btn { position: relative; /*取決于按鈕的大小*/ width: 200px; height: 60px; font-size: 20px; text-align: center; color: #fff; line-height: 60px; border-radius: 30px; background-color: #377dff; overflow: hidden; } .btn.disabled { opacity: .8; pointer-events: none; } .btn span { position: relative; z-index: 1; } .btn:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(-45deg, #f9f9f9 25%, transparent 0); background-position: 0 0; background-size: 30px 30px; animation: animate-stripes 2.5s linear infinite; } @keyframes animate-stripes { 0% { transform: translate(-100%, 0); } 100% { transform: translate(200%, 0); } } .btn.disabled:before { animation: none; }
以上CSS代碼實現了按鈕倒計時功能,具體實現思路如下:
- 給按鈕設置position: relative屬性,為了后續絕對定位元素的參考值;
- 設置按鈕的寬度、高度、字體大小、文本居中、文字顏色等基礎樣式;
- 設置按鈕的圓角、背景顏色等美化樣式;
- 設置按鈕的overflow:hidden屬性,為了隱藏超出部分;
- 在按鈕中增加一個span元素,用于正常顯示按鈕的文本內容;
- 使用CSS偽元素:before生成斜條紋背景,使用動畫實現斜條紋運動;
- 給按鈕添加.disabled類,禁用按鈕,同時取消斜條紋運動動畫。
上一篇gulp css 兼容
下一篇css按鈕好看的