当前位置:首页 > JavaScript

js实现笑脸

2026-03-14 06:14:46JavaScript

使用Canvas绘制笑脸

在HTML中创建Canvas元素,通过JavaScript绘制笑脸。以下代码展示如何绘制一个简单的笑脸:

<canvas id="smileCanvas" width="200" height="200"></canvas>
<script>
  const canvas = document.getElementById('smileCanvas');
  const ctx = canvas.getContext('2d');

  // 绘制黄色圆形脸部
  ctx.beginPath();
  ctx.arc(100, 100, 80, 0, Math.PI * 2);
  ctx.fillStyle = 'yellow';
  ctx.fill();
  ctx.strokeStyle = 'black';
  ctx.stroke();

  // 绘制左眼
  ctx.beginPath();
  ctx.arc(70, 70, 10, 0, Math.PI * 2);
  ctx.fillStyle = 'black';
  ctx.fill();

  // 绘制右眼
  ctx.beginPath();
  ctx.arc(130, 70, 10, 0, Math.PI * 2);
  ctx.fill();

  // 绘制微笑的嘴
  ctx.beginPath();
  ctx.arc(100, 100, 50, 0, Math.PI);
  ctx.stroke();
</script>

使用SVG创建笑脸

通过SVG矢量图形实现笑脸,适合需要缩放而不失真的场景:

<svg width="200" height="200" viewBox="0 0 200 200">
  <!-- 脸部 -->
  <circle cx="100" cy="100" r="80" fill="yellow" stroke="black" stroke-width="2"/>

  <!-- 左眼 -->
  <circle cx="70" cy="70" r="10" fill="black"/>

  <!-- 右眼 -->
  <circle cx="130" cy="70" r="10" fill="black"/>

  <!-- 微笑嘴 -->
  <path d="M60 120 Q100 170 140 120" fill="none" stroke="black" stroke-width="3"/>
</svg>

使用CSS和HTML创建笑脸

纯CSS实现的笑脸,无需JavaScript:

<div class="smiley-face">
  <div class="eye left-eye"></div>
  <div class="eye right-eye"></div>
  <div class="smile"></div>
</div>

<style>
  .smiley-face {
    width: 200px;
    height: 200px;
    background: yellow;
    border-radius: 50%;
    border: 3px solid black;
    position: relative;
  }

  .eye {
    width: 20px;
    height: 20px;
    background: black;
    border-radius: 50%;
    position: absolute;
    top: 50px;
  }

  .left-eye { left: 50px; }
  .right-eye { right: 50px; }

  .smile {
    width: 100px;
    height: 50px;
    border: 3px solid black;
    border-color: transparent transparent black transparent;
    border-radius: 0 0 50px 50px;
    position: absolute;
    bottom: 40px;
    left: 50px;
  }
</style>

使用Emoji表情符号

最简单的实现方式,直接使用Unicode表情符号:

console.log('😊'); // 简单笑脸
console.log('😀'); // 大笑脸
console.log('😂'); // 笑哭脸

动画笑脸实现

通过CSS动画让笑脸动起来:

js实现笑脸

<div class="animated-smiley">😊</div>

<style>
  .animated-smiley {
    font-size: 100px;
    display: inline-block;
    animation: smileyAnimation 2s infinite;
  }

  @keyframes smileyAnimation {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
  }
</style>

每种方法适用于不同场景,Canvas适合需要动态绘制的场景,SVG适合矢量图形需求,CSS方法适合轻量级实现,而Emoji则是最快捷的解决方案。

标签: 笑脸js
分享给朋友:

相关文章

js实现分页

js实现分页

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

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…