当前位置:首页 > JavaScript

js实现圆角

2026-04-06 15:50:29JavaScript

使用CSS的border-radius属性

在JavaScript中操作CSS的border-radius属性是最直接的方法。通过修改元素的style属性,可以动态设置圆角:

const element = document.getElementById('targetElement');
element.style.borderRadius = '10px'; // 统一设置四个角
element.style.borderRadius = '10px 5px 20px 30px'; // 分别设置左上、右上、右下、左下

通过类名切换样式

定义CSS类并利用JavaScript切换类名,实现圆角效果:

js实现圆角

.rounded {
  border-radius: 8px;
}
.circle {
  border-radius: 50%;
}
const box = document.querySelector('.box');
box.classList.add('rounded'); // 添加圆角
box.classList.replace('rounded', 'circle'); // 切换为圆形

动态计算圆角值

结合JavaScript计算能力,实现动态圆角逻辑:

js实现圆角

const element = document.querySelector('.dynamic-element');
const width = element.offsetWidth;
element.style.borderRadius = `${width / 2}px`; // 根据宽度设置为圆形

使用Canvas绘制圆角图形

通过Canvas API绘制带圆角的形状:

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
const x = 50, y = 50, width = 100, height = 60, radius = 10;

ctx.beginPath();
ctx.moveTo(x + radius, y);
ctx.arcTo(x + width, y, x + width, y + height, radius);
ctx.arcTo(x + width, y + height, x, y + height, radius);
ctx.arcTo(x, y + height, x, y, radius);
ctx.arcTo(x, y, x + width, y, radius);
ctx.closePath();
ctx.fillStyle = 'blue';
ctx.fill();

SVG实现圆角

通过JavaScript动态生成带圆角的SVG元素:

const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
rect.setAttribute('x', '10');
rect.setAttribute('y', '10');
rect.setAttribute('rx', '15'); // 水平圆角半径
rect.setAttribute('ry', '15'); // 垂直圆角半径
rect.setAttribute('width', '100');
rect.setAttribute('height', '80');
rect.setAttribute('fill', 'green');
svg.appendChild(rect);
document.body.appendChild(svg);

标签: 圆角js
分享给朋友:

相关文章

js实现换肤

js实现换肤

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

js钟表实现

js钟表实现

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

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现vue弹窗

js实现vue弹窗

实现 Vue 弹窗的基本方法 使用 Vue.js 实现弹窗功能可以通过组件化方式完成。以下是一个简单的弹窗实现示例,包含显示/隐藏控制、内容插槽和基础样式。 弹窗组件代码 创建 Modal.vue…

vue.js实现改

vue.js实现改

Vue.js 实现修改功能 在 Vue.js 中实现修改功能通常涉及以下几个关键步骤: 数据绑定与表单处理 使用 v-model 实现表单数据与 Vue 实例数据的双向绑定。例如修改用户信息时,表单…

vue.js实现切换

vue.js实现切换

Vue.js 实现切换功能 Vue.js 提供了多种方式实现切换功能,包括条件渲染、动态组件和过渡动画等。以下是几种常见实现方法: 条件渲染 v-if 和 v-show 使用 v-if 或 v-s…