利用div+css3实现一个背景渐变的button按钮的示例代码

ID:16287 / 打印

随着目前前端页面的需求不断提升,有些场景需要渐变背景的元素。本文利用div和css3新属性,实现了一个背景渐变的按钮,具体如下:

1.background: linear-gradient 背景为渐变色属性
2.利用css3中动画特性animation,实现背景从左至右变化(color_move)
3.为了实现渐变效果,将background的宽度拉长至400%

上代码:

html:

 <div class="btn_demo"> 	<div class="text">体 验</div> 	<div class="arrow">»</div> </div>

css:

 @keyframes arrow_move {    /* 开始状态 */     0% {         left: 130px;     } 	/* 结束状态 */     100% {         left: 140px;     } } @keyframes color_move {     /* 开始状态 */     0% {         background-position: 0% 0%; /* 水平位置 垂直位置 */     }     50% {         background-position: 50% 0%;     } 	/* 结束状态 */     100% {         background-position: 100% 0%;     } } .btn_demo {     width:180px;     height:60px;     border-radius: 10px;     position: relative;     background: linear-gradient( 90deg, #373d42 0%, #2679dd 50%, #373d42 100%);     background-size: 400% 100%;     animation: color_move 5s infinite ease-in-out alternate;     cursor: pointer; } .btn_demo:hover {     background: #2679dd; } .btn_demo:active {     background: #373d42; } .btn_demo > .text {     /* background: yellow; */     width: 50px;     text-align: center;     position: absolute;     left: 50%;     top: 50%;     transform: translate(-50%,-50%);     font-size: 20px;     color: #fff;     font-weight: bold; } .btn_demo > .arrow {     /* background: green; */     width: 20px;     text-align: center;     position: absolute;     font-size: 30px;     color: #fff;     top: 46%;     transform: translateY(-50%);     left: 130px; /* 移动130~150px */     /* 调用动画 */     animation-name: arrow_move;     /* 持续时间 */     animation-duration: 1s;     /* 无限播放 */     animation-iteration-count: infinite; }

效果如下:


上一篇: 详解HTML元素的height、offsetHeight、clientHeight、scrollTop等梳理
下一篇: html父子页面iframe双向发消息的实现示例

作者:admin @ 24资源网   2024-11-04

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。