当前位置:首页 > JavaScript

js实现文字立体效果

2026-04-04 19:52:25JavaScript

使用CSS text-shadow实现立体文字

通过多层text-shadow叠加创造立体感,阴影偏移方向决定光源角度:

.3d-text {
  color: #fff;
  text-shadow: 
    1px 1px 0 #999,
    2px 2px 0 #888,
    3px 3px 0 #777,
    4px 4px 0 #666;
}

使用Canvas绘制3D文字

通过逐像素偏移和颜色渐变模拟立体效果:

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');

function draw3DText(text, x, y) {
  ctx.font = 'bold 60px Arial';
  const depth = 5;

  for(let i = depth; i>0; i--) {
    ctx.fillStyle = `rgba(0,0,0,${i/depth*0.6})`;
    ctx.fillText(text, x+i, y+i);
  }

  ctx.fillStyle = '#ff0000';
  ctx.fillText(text, x, y);
}

SVG滤镜实现立体效果

利用SVG的feGaussianBlur和feOffset滤镜组合:

<svg width="0" height="0">
  <filter id="3d-effect">
    <feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
    <feOffset dx="4" dy="4" result="offsetblur"/>
    <feComposite in="SourceGraphic" in2="offsetblur" operator="over"/>
  </filter>
</svg>

<div style="filter: url(#3d-effect); font-size: 48px;">
  立体文字
</div>

WebGL三维文字渲染

使用Three.js库创建真实3D文字:

import * as THREE from 'three';

const scene = new THREE.Scene();
const fontLoader = new THREE.FontLoader();

fontLoader.load('fonts/helvetiker_regular.typeface.json', (font) => {
  const geometry = new THREE.TextGeometry('3D Text', {
    font: font,
    size: 5,
    height: 2,
    curveSegments: 12
  });

  const material = new THREE.MeshPhongMaterial({ color: 0x00ff00 });
  const textMesh = new THREE.Mesh(geometry, material);
  scene.add(textMesh);
});

CSS transform实现伪3D效果

通过skew和rotate变换模拟透视:

js实现文字立体效果

.pseudo-3d {
  display: inline-block;
  transform: 
    rotateY(20deg) 
    skewY(-5deg);
  transition: transform 0.3s;
  color: #3498db;
  font-weight: bold;
}

.pseudo-3d:hover {
  transform: rotateY(30deg) skewY(-8deg);
}

标签: 效果文字
分享给朋友:

相关文章

vue实现文字按钮

vue实现文字按钮

实现文字按钮的基本方法 在Vue中创建文字按钮可以通过多种方式实现,核心思路是利用按钮或可点击元素,通过CSS去除默认样式,使其呈现为纯文字形式。 模板部分 <template>…

vue实现检索效果

vue实现检索效果

Vue实现检索功能的方法 在Vue中实现检索功能通常需要结合数据绑定、计算属性和方法。以下是几种常见的实现方式: 基础实现(基于计算属性) <template> <div>…

vue实现的效果

vue实现的效果

Vue.js 是一个流行的前端框架,用于构建用户界面和单页应用。以下是一些常见的 Vue 实现效果及其实现方式: 动态数据绑定 Vue 的核心特性之一是响应式数据绑定。通过将数据与 DOM 元素绑定…

vue实现文字识别

vue实现文字识别

Vue实现文字识别的方案 Vue可以通过集成第三方OCR(光学字符识别)库或API实现文字识别功能。以下是几种常见的实现方式: 使用Tesseract.js库 Tesseract.js是一个纯Jav…

vue实现歌词效果

vue实现歌词效果

Vue实现歌词效果 数据准备 歌词通常以时间轴和文本形式存储,可采用数组或对象格式。例如: lyrics: [ { time: 0.5, text: "第一句歌词" }, { time: 3…

vue实现侧滑效果

vue实现侧滑效果

实现侧滑效果的方法 使用Vue的过渡动画 在Vue中可以通过<transition>组件结合CSS过渡实现侧滑效果。定义一个滑动动画类,控制元素的transform属性。 <tem…