css实现按钮边框旋转

先上效果图

本质:一个矩形在两个矩形互相重叠遮盖形成的缝隙中旋转形成,注意css属性z-index层级关系

直接上代码

html 复制代码
  <div class="bg">
    <div class="button">按钮</div>
  </div>
  
  <style>
	.bg {
	  width: 100%;
	  height: 100vh;
	  background-color: #000;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	}


	@keyframes run {
	  0% {
	    transform: rotate(0);
	  }
	  100% {
	    transform: rotate(360deg);
	  }
	}

	.button {
	  width: 200px;
	  height: 100px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  position: relative;
	  overflow: hidden;  /* 关键属性 */
	  color: #fff;
	  z-index: 1;
	  border-radius: 4px;
	}
	.button::before {
	  content: "";
	  width: 200%;
	  height: 200%;  /* 调整此处宽高控制旋转边框的长度 */
	  position: absolute;
	  background: linear-gradient(135deg, #ff00cc, #ffcc00, #00ffcc, #ff0066);
	  z-index: -2;
	  left: 50%;
	  top: 50%;
	  animation: run 1.5s linear infinite;
	  transform-origin: left top;
	}
	.button::after {
	  content: "";
	  position: absolute;
	  --w: 2px; /* 控制宽度 */
	  width: calc(100% - 2 * var(--w));
	  height: calc(100% - 2 * var(--w));
	  left: var(--w);
	  top: var(--w);
	  background: #000;
	  z-index: -1;
	  border-radius: inherit;
	}
  </style>
相关推荐
支支დ5 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
香芋芋圆5 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF6 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
宿6746 小时前
vue3-async
前端·javascript·vue.js
YXWik67 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_928996227 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_7 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
原则猫7 小时前
TS 类型工具
前端
excel7 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
计算机魔术师9 小时前
美国司法部正式站队 OpenAI,AI 训练的版权账要这么算了
前端