如何用CSS Paint API实现两个圆形背景重叠并叠加内容?

利用CSS Paint API打造炫酷圆形重叠背景效果

本文将演示如何使用CSS Paint API创建两个重叠的圆形背景,并在其上叠加文本和图片。此效果无法简单通过position: absolute实现,需要借助CSS Paint API绘制自定义图形。

首先,我们需要了解CSS Paint API。它允许开发者使用JavaScript绘制自定义背景图案,从而实现复杂的视觉效果。通过CSS Paint API,我们可以精确控制圆形的绘制位置、大小和样式,轻松实现两个圆形重叠的效果。

以下代码展示了如何使用CSS Paint API绘制两个重叠的圆形背景,并在其上放置标题和图片:

index.html:

<!DOCTYPE html>
<html>
<head>
<title>CSS Paint API 圆形重叠</title>
<style>
.test {
  background-image: paint(arc);
  width: 200px;
  height: 200px;
  border: 2px solid #eee;
  display: flex;
  justify-content: center;
  align-items: center;
}
.test h1 {
  z-index: 1; /* 保证标题显示在圆形之上 */
}
</style>
</head>
<body>
<div class="test">
  <h1>测试</h1>
  @@##@@
</div>

<script>
if ('paintworklet' in CSS) {
  CSS.paintWorklet.addModule('demo1.js');
} else {
  document.body.innerHTML = '您的浏览器不支持CSS Paint API';
}
</script>
</body>
</html>

demo1.js:

class arc {
  paint(ctx, geom, properties) {
    ctx.lineWidth = 2;
    ctx.strokeStyle = 'cyan';

    ctx.beginPath();
    ctx.arc(geom.width / 2, geom.height / 2, geom.width / 2, 0, 2 * Math.PI);
    ctx.stroke();

    ctx.beginPath();
    ctx.arc(geom.width / 2, geom.height / 2, geom.width / 2 - 30, 0, 2 * Math.PI);
    ctx.fillStyle = '#fff';
    ctx.fill();

    ctx.beginPath();
    ctx.arc(geom.width / 2, geom.height / 2, geom.width / 2 - 30, 0, 2 * Math.PI);
    ctx.stroke();
  }
}

registerPaint('arc', arc);

这段代码定义了一个名为arc的自定义绘制器,绘制了两个同心圆,内圆填充白色,外圆为青色描边。 background-image: paint(arc); 将其应用于.test元素的背景。 z-index: 1;确保标题显示在圆形之上。 请将 "your_image.jpg" 替换为您的图片路径。 这段代码需要浏览器支持CSS Paint API才能正常运行。

通过以上步骤,您可以轻松创建具有两个重叠圆形背景的网页元素,并在此基础上添加其他内容。 记住将 demo1.js 文件与 index.html 文件放在同一目录下。

以上就是如何用CSS Paint API实现两个圆形背景重叠并叠加内容?的详细内容,更多请关注昆居客【www.kunjuke.com】。

相关推荐:

努比亚倪飞谈 AI 智能体手机,称下半场会从“功能叠加”走向“原生智能体”

7 月 12 日消息,中兴通讯终端事业部总裁、努比亚技术有限公司总裁倪飞发布长文,谈及了 AI 智能体手机。他表示,AI 手机的下半场会从“功能叠加”走向“原生智能体”。不再是用户迁就手机的逻辑,而是手机主动理解人的需求。倪飞提到,努比亚探索了智能体手机最核心的四把能力标尺,包括:要听得懂最自然的表达,不用刻意迁就话术,随时响应要能帮你把交代的事办完;要能记得住你的习惯与备忘,不用反复交代,有序沉...

又要到周五啦:京东 20:00 发放 60 元叠加神券,蹲点赛博抢鸡蛋

京东超市今晚 20:00 例行开启黑色星期五、周周真五折活动,可领 3 张 200-20 元平台补贴券,可叠加大部分优惠一起使用。此券周五 24 点前可领,周六 24 点才失效(周六大概率会出现很多好价),建议领券防身:点此领券。主会场周四 20 点、20 点 30 分、22 点、周五 10 点、16 点、20 点、22 点可蹲点抢购下方单品:前往京东黑色星期五:点此前往主会场。【广告】

市场竞争加剧叠加汇兑损失,广汽集团预计 2026 上半年亏损超 40 亿元

感谢网友 某咸鱼的小号 的线索投递! 7 月 10 日消息,广汽集团今日发布了 2026 年半年度业绩预告。公告显示,经财务部门初步测算,公司预计 2026 年 1 月 1 日至 6 月 30 日实现归属于母公司所有者的净利润为-40.6 亿元至-45.7 亿元,预计归属于母公司所有者的扣除非经常性损益后的净利润为-48 亿元至-56 亿元。相较上年同期,公司归母净利润为-25.38 亿元,扣非净...

吉利银河 TT 纯电运动轿车内饰公开:三幅圆形方向盘 + 胶囊型仪表屏,今晚首秀

感谢网友 很宅很怕生 的线索投递! 7 月 6 日消息,吉利银河官方微博今日公开了旗下 TT 纯电运动轿车的内饰,主打“沉浸式质感座舱”。从图片可以看到,吉利银河 TT 配备了三幅式圆形方向盘,新增有一枚红色运动按键。主驾还配有胶囊型仪表屏和 HUD 抬头显示。值得一提的是,中控空调出风口处配备了一块钟表(图片显示像实体钟表)。吉利银河 TT 全球首秀见面会已定档 7 月 6 日在上海 1862 ...

我的世界附魔属性叠加怎么弄

右键点击铁砧,然后将两本附魔书放在左侧,效果叠加到一本附魔书上;在铁砧的第一个格子放入附魔物品,接着我们将刚刚叠加好的附魔书放上;叠加的附魔书可以正常使用,已经成功将属性附魔到物品上了,我们点击将物品取出即可。 详细答案: 首先,我们进入游戏后,右键点击铁砧,然后将两本附魔书放在左侧,如图所示,可以看到,此时两本附魔书的效果可以叠加到一本附魔书上。 我们将叠加好的附魔书取出,在铁砧的第一个格子放入...

PR软件隐藏技巧大公开:用预合成搞定复杂的特效叠加【技巧】

预合成是Premiere中封装多图层、蒙版、混合模式与动态遮罩的必备方法。它将复杂组合打包为单个嵌套序列,仅暴露位置、缩放、不透明度、旋转四个可控参数,隔离内部逻辑,避免修改引发连锁错位;三步完成:框选图层→右键新建序列→拖回覆盖原图层;后续可在内外层级分别精准调控,转场须置于预合成之间而非内部。 想在Premiere中把多个图层、蒙版、混合模式和动态遮罩组合成一个可控的整体,又怕时间轴越来越乱、...

我的世界怎么把触摸换成圆形

首先进入游戏,点击上方的【暂停】按钮;再点击【设置】;接着点击【触摸屏】;然后我们找到【十字键操作】;点击【关闭十字键操作】;点击【继续游戏】返回游戏,这样我们的操作模式就从十字键变成摇杆了。 详细答案: 首先进入游戏,点击上方的【暂停】按钮。 再点击【设置】。 接着点击【触摸屏】。 然后我们找到【十字键操作】。 点击【关闭十字键操作】。 点击【继续游戏】返回游戏,这样我们的操作模式就从十字键变成...

PPT怎么设置图片层级 调整元素重叠顺序的操作方法

PPT中调整图片层级需操作Z轴顺序:用“选择窗格”可直观拖动排序;右键菜单支持“置于顶层”“上移一层”等快速调整;快捷键Ctrl+Shift+Home/End可批量置顶或置底。 当你在PPT里插入多张图片后发现它们互相遮挡、关键内容被盖住,或者想让某张图作为视觉焦点浮在最上面,就必须手动干预图片的显示层级——这不是靠拖拽位置能解决的,而是要调整对象在Z轴(垂直于屏幕的方向)上的前后顺序。 用“选择...