按钮模版:btn-light-4
2023/6/19大约 2 分钟
预览效果
<div class="container">
<button class="btn-light-4">View Room</button>
</div>
.container {
display: flex;
justify-content: center;
align-items: center;
background: #fff;
width: 100%;
height: 200px;
}
.btn-light-4 {
padding: 16px 28px;
border-radius: 8px;
background-image: linear-gradient(315deg, #89d8d3 0%, #03c8a8 74%);
border: none;
z-index: 1;
transition: all 0.3s ease;
color: #fff;
position: relative;
cursor: pointer;
}
.btn-light-4:after {
position: absolute;
content: "";
width: 0;
height: 100%;
top: 0;
right: 0;
z-index: -1;
background-image: linear-gradient(315deg, #4dccc6 0%, #96e4df 74%);
border-radius: 8px;
box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, 0.5), 7px 7px 20px 0px
rgba(0, 0, 0, 0.1), 4px 4px 5px 0px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}
.btn-light-4:hover:after {
left: 0;
width: 100%;
}
代码解析
HTML结构
这个按钮模板的HTML结构非常简洁,主要包含一个容器元素和一个按钮元素:
- 使用
div
作为容器,类名为container
,用于居中展示按钮 - 使用
button
作为按钮元素,类名为btn-light-4
,包含按钮文本
CSS实现原理
CSS部分实现了按钮的视觉效果和动画效果:
- 容器使用Flexbox实现内容的水平和垂直居中
- 按钮使用
padding
设置内边距,border-radius
设置圆角 - 按钮背景使用
linear-gradient
创建渐变色效果 - 使用
position: relative
为伪元素定位做准备 - 通过
:after
伪元素创建一个覆盖层,实现悬停时的滑动效果 - 使用
z-index
确保覆盖层位于按钮下方 - 通过
:hover:after
伪类和width
属性实现覆盖层的动态扩展效果
使用方法
- 复制 HTML 结构:将 HTML 代码块中的容器和按钮元素复制到你的网页中。
- 添加 CSS 样式:将 CSS 代码块中的样式规则复制到你的样式表中。
- 调整按钮大小:可以修改
padding
属性值来调整按钮的大小。 - 自定义颜色方案:可以替换渐变中的颜色值 (
#89d8d3
,#03c8a8
,#4dccc6
,#96e4df
) 来修改配色。 - 调整动画速度:可以修改
transition
属性中的0.3s
值来调整动画速度。
浏览器兼容性
- 该按钮模板使用的CSS属性在现代浏览器中具有良好的兼容性
linear-gradient
、transition
、:after
伪元素和:hover
伪类在IE10及以上版本的浏览器中都能正常工作
更新日志
2025/9/28 09:03
查看所有更新日志
38e56
-于