当前位置:首页 > JavaScript

js实现画框

2026-02-02 08:59:43JavaScript

使用Canvas绘制矩形框

HTML中创建一个Canvas元素,通过JavaScript获取其上下文进行绘制。

<canvas id="myCanvas" width="400" height="300"></canvas>
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');

ctx.strokeStyle = 'red';  // 边框颜色
ctx.lineWidth = 3;        // 边框宽度
ctx.strokeRect(50, 50, 200, 150);  // (x, y, width, height)

使用SVG绘制矩形框

通过SVG的<rect>元素实现矢量图形绘制。

<svg width="400" height="300">
  <rect x="50" y="50" width="200" height="150" 
        stroke="blue" stroke-width="2" fill="none"/>
</svg>

使用CSS绘制方框

通过纯CSS样式创建带有边框的方框元素。

<div class="box"></div>
.box {
  width: 200px;
  height: 150px;
  border: 2px dashed green;
  margin: 20px;
}

动态交互画框实现

结合鼠标事件实现动态绘制方框功能。

let isDrawing = false;
let startX, startY;

canvas.addEventListener('mousedown', (e) => {
  isDrawing = true;
  startX = e.offsetX;
  startY = e.offsetY;
});

canvas.addEventListener('mousemove', (e) => {
  if (!isDrawing) return;
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.strokeRect(startX, startY, e.offsetX - startX, e.offsetY - startY);
});

canvas.addEventListener('mouseup', () => {
  isDrawing = false;
});

圆角矩形实现

Canvas和CSS均可实现圆角矩形效果。

js实现画框

// Canvas圆角矩形
ctx.beginPath();
ctx.roundRect(100, 100, 200, 150, [10]);
ctx.stroke();
/* CSS圆角 */
.box {
  border-radius: 10px;
}

标签: 画框js
分享给朋友:

相关文章

js实现分页

js实现分页

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

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现pdf在线预览

js实现pdf在线预览

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

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

jquery js

jquery js

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

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…