CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效
今天给大家分享一个纯CSS按钮水晶按钮,效果很赞,希望对大家有所帮助。
本例图片
案例分析
这个按钮看起来效果很赞,我们分析一下它由几个层组成:
1. 按钮本体:渐变层+按钮文字
2.用before伪元素实现高光层+内部阴影变实现的白色内发光。
3.用after伪元素实现在按钮上一闪而过的滑动的白色透明光条。
布局代码
<button class="base">超酷的水晶按钮</button>
基础样式
:root{ --main-bg-color: #000; --color:#000; --hover-color:#993399; } button{ margin: 0.3em; outline: 0; border: none; } .base{ position: relative; padding: 1rem 3rem; /* 用 padding 撑起按钮的宽度和高度 ,并确保了按钮文字水平方向居中 */ font-family: "微软雅黑", sans-serif; font-size: 1.5rem; line-height: 1.5rem; /* 行高和字号大小相等,可以实现按钮文字在按钮内垂直居中 */ font-weight:700; color: var(--color); /* 文字颜色为预定义的前景色 */ cursor: pointer; /* 鼠标移动到按钮上时候的形状:手型 */ user-select: none; /* 让用户不能选择按钮上的文字 */ white-space: nowrap; /* 避免英文单词间的空格导致文字换行 */ border-radius: 2rem; text-decoration: none; text-transform:uppercase; /* 字母自动修正为大写 */ transition: all .5s; /* 按钮响应动画效果的持续时间 */ margin: 1.5rem 2rem; }
按钮样式,Let's do it!
首先,我们来实现按钮的基本样子:
:root{--main-bg-color: #000;--color:#000;--hover-color:#993399;
}
button{margin: 0.3em;outline: 0;border: none;
}
.base{position: relative; padding: 1rem 3rem; /* 用 padding 撑起按钮的宽度和高度 ,并确保了按钮文字水平方向居中 */font-family: "微软雅黑