当前位置:首页 > 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>元素实现矢量图形绘制。

js实现画框

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

使用CSS绘制方框

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

js实现画框

<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均可实现圆角矩形效果。

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

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

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现倒计时

js实现倒计时

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

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现dh

js实现dh

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