按钮模版:btn-light-5
2023/6/20大约 2 分钟
预览效果
<div class="container">
<button class="btn-light-5">View Room</button>
</div>
.container {
display: flex;
justify-content: center;
align-items: center;
background: #fff;
width: 100%;
height: 200px;
}
.btn-light-5 {
position: relative;
padding: 16px 28px;
border: none;
color: #fff;
background: linear-gradient(
0deg,
rgba(255, 27, 0, 1) 0%,
rgba(251, 75, 2, 1) 100%
);
cursor: pointer;
}
.btn-light-5:hover {
color: #f0094a;
background: transparent;
box-shadow: none;
}
.btn-light-5:before,
.btn-light-5:after {
content: "";
position: absolute;
top: 0;
right: 0;
height: 2px;
width: 0;
background: #f0094a;
box-shadow: -1px -1px 5px 0px #fff, 7px 7px 20px 0px #0003,
4px 4px 5px 0px #0002;
transition: all 0.3s ease;
}
.btn-light-5:after {
right: inherit;
top: inherit;
left: 0;
bottom: 0;
}
.btn-light-5:hover:before,
.btn-light-5:hover:after {
width: 100%;
transition: all 0.4s ease;
}
代码解析
HTML结构
这个按钮模板的HTML结构非常简洁,主要包含一个容器元素和一个按钮元素:
- 使用
div
作为容器,类名为container
,用于居中展示按钮 - 使用
button
作为按钮元素,类名为btn-light-5
,包含按钮文本
CSS实现原理
CSS部分实现了按钮的视觉效果和动画效果:
- 容器使用Flexbox实现内容的水平和垂直居中
- 按钮使用
padding
设置内边距,position: relative
为伪元素定位做准备 - 按钮背景使用
linear-gradient
创建渐变色效果 - 通过
:before
和:after
伪元素创建顶部和底部的装饰线条 - 这些装饰线条默认宽度为0,使用
transition
设置过渡效果 - 当鼠标悬停时,按钮背景变为透明,文本颜色改变,同时伪元素线条宽度变为100%,创造出边框展开的动画效果
使用方法
- 复制 HTML 结构:将 HTML 代码块中的容器和按钮元素复制到你的网页中。
- 添加 CSS 样式:将 CSS 代码块中的样式规则复制到你的样式表中。
- 调整按钮大小:可以修改
padding
属性值来调整按钮的大小。 - 自定义颜色方案:可以替换渐变中的颜色值 (
rgba(255, 27, 0, 1)
,rgba(251, 75, 2, 1)
) 和#f0094a
颜色值来修改配色。 - 调整动画速度:可以修改
transition
属性中的0.3s
和0.4s
值来调整动画速度。
浏览器兼容性
- 该按钮模板使用的CSS属性在现代浏览器中具有良好的兼容性
linear-gradient
、transition
、伪元素和:hover
伪类在IE10及以上版本的浏览器中都能正常工作
更新日志
2025/9/28 09:03
查看所有更新日志
38e56
-于