当前位置:首页 > JavaScript

js实现阴影层

2026-04-07 07:08:05JavaScript

使用 CSS box-shadow 属性实现阴影层

通过 CSS 的 box-shadow 属性可以轻松为元素添加阴影效果。在 JavaScript 中动态设置该属性:

const element = document.getElementById('targetElement');
element.style.boxShadow = '2px 2px 10px rgba(0, 0, 0, 0.3)';

参数说明:

  • 前两个值控制阴影偏移(水平/垂直)
  • 第三个值控制模糊半径
  • 最后一个值控制颜色和透明度

创建独立阴影层元素

如需更复杂的阴影效果,可创建独立的阴影层元素:

js实现阴影层

const shadowLayer = document.createElement('div');
shadowLayer.style.position = 'fixed';
shadowLayer.style.top = '0';
shadowLayer.style.left = '0';
shadowLayer.style.width = '100%';
shadowLayer.style.height = '100%';
shadowLayer.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
shadowLayer.style.zIndex = '999';
document.body.appendChild(shadowLayer);

使用 Canvas 绘制高级阴影

对于需要特殊形状的阴影,可使用 Canvas API:

const canvas = document.createElement('canvas');
canvas.width = 300;
canvas.height = 200;
const ctx = canvas.getContext('2d');

ctx.shadowColor = 'rgba(0, 0, 0, 0.7)';
ctx.shadowBlur = 15;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;
ctx.fillStyle = '#fff';
ctx.fillRect(30, 30, 100, 100);

使用 CSS 滤镜实现阴影

CSS 的 filter 属性提供另一种阴影实现方式:

js实现阴影层

const element = document.querySelector('.shadow-element');
element.style.filter = 'drop-shadow(4px 4px 8px rgba(0,0,0,0.5))';

动态调整阴影参数

通过 JavaScript 可以动态调整阴影参数实现交互效果:

let blurLevel = 0;
const element = document.getElementById('interactive-shadow');

function updateShadow() {
  blurLevel += 1;
  element.style.boxShadow = `0 0 ${blurLevel}px rgba(0,0,0,0.5)`;
  if(blurLevel < 20) requestAnimationFrame(updateShadow);
}
updateShadow();

移除阴影层

移除阴影层或阴影效果的方法:

// 移除box-shadow
element.style.boxShadow = 'none';

// 移除独立阴影层
if(shadowLayer.parentNode) {
  shadowLayer.parentNode.removeChild(shadowLayer);
}

标签: 阴影js
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js 实现截图

js 实现截图

使用html2canvas库实现截图 html2canvas是一个流行的JavaScript库,可将HTML元素转换为Canvas,进而导出为图片。 安装库: npm install ht…