当前位置:首页 > 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实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js 实现继承

js 实现继承

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

js实现百叶窗

js实现百叶窗

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

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…