当前位置:首页 > 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创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现百叶窗

js实现百叶窗

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

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…