当前位置:首页 > CSS

css制作烛光

2026-02-12 19:28:57CSS

烛光效果的CSS实现

使用CSS创建烛光效果可以通过阴影、渐变和动画来模拟火焰的摇曳感。以下是几种常见方法:

方法一:使用box-shadow和动画

.candle-flame {
  width: 20px;
  height: 40px;
  background: #ff9900;
  border-radius: 50% 50% 20% 20%;
  box-shadow: 
    0 0 20px 10px #ff9900,
    0 0 40px 20px #ff6600,
    0 0 60px 30px #ff3300;
  animation: flicker 2s infinite alternate;
}

@keyframes flicker {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.8; }
}

方法二:结合伪元素增强效果

.candle {
  position: relative;
  width: 30px;
  height: 80px;
  background: linear-gradient(to right, #c0c0c0, #e0e0e0);
}

.candle::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 30px;
  background: linear-gradient(to top, #ff3300, #ffcc00);
  border-radius: 50% 50% 20% 20%;
  filter: blur(5px);
  animation: sway 3s ease-in-out infinite alternate;
}

@keyframes sway {
  0% { transform: translateX(-50%) rotate(-5deg); }
  100% { transform: translateX(-50%) rotate(5deg); }
}

方法三:使用CSS滤镜增强真实感

css制作烛光

.flame {
  width: 25px;
  height: 50px;
  background: radial-gradient(ellipse at center, 
    #ffffff 0%, 
    #ffcc00 70%, 
    #ff6600 100%);
  border-radius: 50%;
  filter: blur(5px) brightness(1.2);
  animation: pulse 1.5s ease-in-out infinite alternate;
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

完整蜡烛结构示例

<div class="candle">
  <div class="wick"></div>
  <div class="flame"></div>
  <div class="wax"></div>
</div>

<style>
.candle {
  position: relative;
  width: 40px;
  height: 120px;
  margin: 50px auto;
}

.wick {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 3px;
  height: 15px;
  background: #333;
  transform: translateX(-50%);
}

.flame {
  position: absolute;
  top: -40px;
  left: 50%;
  width: 20px;
  height: 50px;
  background: linear-gradient(to top, #ff3300, #ffcc00);
  border-radius: 50% 50% 20% 20%;
  transform: translateX(-50%);
  filter: blur(5px);
  animation: flicker 2s ease-in-out infinite alternate;
}

.wax {
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #e0a040, #f0c060);
  border-radius: 5px;
}

@keyframes flicker {
  0%, 100% { transform: translateX(-50%) scaleY(1); }
  25% { transform: translateX(-50%) scaleY(1.1) scaleX(0.9); }
  50% { transform: translateX(-50%) scaleY(0.95) scaleX(1.05); }
  75% { transform: translateX(-50%) scaleY(1.05) scaleX(0.95); }
}
</style>

这些方法可以根据需要调整颜色、大小和动画参数来获得更逼真的烛光效果。关键点在于使用多层阴影、渐变和柔化边缘来模拟火焰的发光特性,并通过动画创造自然的摇曳感。

标签: 烛光css
分享给朋友:

相关文章

css制作开关

css制作开关

使用纯CSS制作开关 通过CSS的伪元素和input[type="checkbox"]可以创建自定义开关样式。关键点在于隐藏原生复选框,用CSS重新设计外观。 <label class="sw…

旋转相册制作css

旋转相册制作css

旋转相册制作CSS 旋转相册通常通过CSS动画和3D变换实现,以下是一个完整的实现方法: 基础HTML结构 <div class="photo-album"> <div cla…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css制作软件

css制作软件

CSS制作工具推荐 在线CSS生成器 CSS Generator:提供多种CSS效果(如阴影、渐变、动画)的实时生成与代码导出。 EnjoyCSS:可视化界面调整参数,自动生成复杂CSS代码…