当前位置:首页 > CSS

css制作按钮光晕

2026-04-02 00:49:09CSS

使用 box-shadow 创建基础光晕效果

为按钮添加多层 box-shadow 模拟光晕扩散效果。通过调整模糊半径和颜色透明度实现柔和的光晕过渡。

.button {
  box-shadow: 
    0 0 5px rgba(0, 255, 255, 0.5),
    0 0 10px rgba(0, 255, 255, 0.3),
    0 0 15px rgba(0, 255, 255, 0.1);
}

结合伪元素增强光晕层次

通过 ::before::after 伪元素创建更大的光晕层,配合 opacitytransform 实现动态效果。

css制作按钮光晕

.button::after {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  background: rgba(0, 255, 255, 0.1);
  border-radius: inherit;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s;
}
.button:hover::after {
  opacity: 1;
}

添加动画实现呼吸效果

使用 @keyframes 让光晕动态变化,模拟呼吸或脉冲效果。调整 animation 属性控制速度和循环方式。

css制作按钮光晕

@keyframes glow {
  0% { box-shadow: 0 0 5px cyan; }
  50% { box-shadow: 0 0 20px cyan; }
  100% { box-shadow: 0 0 5px cyan; }
}
.button {
  animation: glow 2s infinite;
}

使用 filter: drop-shadow() 替代方案

若需对非矩形按钮(如SVG图标)添加光晕,drop-shadow 滤镜能更好地适配形状。

.icon-button {
  filter: drop-shadow(0 0 8px rgba(0, 255, 255, 0.6));
}

响应交互的渐变光晕

通过 CSS 变量和 JavaScript 动态改变光晕颜色或大小,实现点击或悬停时的实时反馈。

.button {
  --glow-color: rgba(0, 255, 255, 0.5);
  box-shadow: 0 0 10px var(--glow-color);
  transition: box-shadow 0.2s;
}
.button:hover {
  --glow-color: rgba(0, 200, 255, 0.8);
}

标签: 光晕按钮
分享给朋友:

相关文章

vue实现按钮滑动

vue实现按钮滑动

Vue 实现按钮滑动效果 使用 CSS 过渡动画 在 Vue 模板中定义一个按钮元素,通过 CSS 的 transition 和 transform 属性实现滑动效果。利用 Vue 的 v-bind:…

vue实现分页按钮

vue实现分页按钮

实现分页按钮的基本思路 在Vue中实现分页按钮通常需要结合计算属性、事件绑定和动态样式。核心逻辑包括计算总页数、生成页码数组、处理页码切换事件以及高亮当前页码。 基础实现代码示例 <templ…

vue实现移动按钮

vue实现移动按钮

Vue 实现移动按钮的方法 使用拖拽事件实现按钮移动 在Vue中可以通过监听拖拽事件来实现按钮的移动功能。需要利用@mousedown、@mousemove和@mouseup事件。 <temp…

vue实现上传按钮

vue实现上传按钮

Vue 实现上传按钮的方法 使用原生 HTML input 和 Vue 处理 通过 HTML 的 input 元素结合 Vue 的事件处理实现文件上传功能。 <template> &…

vue 实现多选按钮

vue 实现多选按钮

实现多选按钮的基本方法 在Vue中实现多选按钮可以通过v-model绑定数组来管理选中状态。以下是一个基础示例: <template> <div> <lab…

vue实现编辑按钮

vue实现编辑按钮

Vue 实现编辑按钮的方法 在 Vue 中实现编辑按钮通常涉及数据绑定、事件处理和状态管理。以下是几种常见的方法: 使用 v-model 绑定数据 通过 v-model 双向绑定数据,结合按钮的点击…