当前位置: 首页 > 知识库问答 >
问题:

css如何实现两个圆形重叠?

邴兴为
2023-05-08

例如image.png
并把这个作为背景,在上边可以放置我们设置的标题和小图片

共有2个答案

何辰沛
2023-05-08

两种试一下,微调一下就行了
<!DOCTYPE html>
<html>
<head>
<style>
.cities {

background-color:black;
color:white;
margin:20px;
padding:20px;

}
.circle-1,
.circle-2 {
width: 150px;
height: 150px;
border-radius: 50%;
position: relative;
}

.circle-1 {
background-color: red;
}

.circle-2 {
background-color: green;
top: -75px;
left: 25px;
}
canvas {
max-width: 100%;
height: auto;
}
</style>
</head>

<body>
<canvas id="canvas"></canvas>
<div class="circle-1"></div><div class="circle-2"></div>

</body><script>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

// 绘制红色圆形
ctx.beginPath();
ctx.arc(100, 100, 75, 0, Math.PI * 2);
ctx.fillStyle = "red";
ctx.fill();

// 绘制绿色圆形并实现重叠效果
ctx.beginPath();
ctx.arc(150, 150, 75, 0, Math.PI * 2);
ctx.fillStyle = "green";
ctx.globalCompositeOperation = "source-in";
ctx.fill();
</script>
</html>

宗政兴发
2023-05-08

index.html

<!doctype html>
<style>
  .test {
    background-image: paint(arc);
    width: 200px;
    height: 200px;
    border: 2px solid #eee;
  }
</style>
<div class="test">
  <h1>测试</h1>
</div>
<script>

  if ('paintWorklet' in CSS) {
    CSS.paintWorklet.addModule('demo1.js');
  } else {
    document.body.innerHTML = 'You need support for <a href="https://drafts.css-houdini.org/css-paint-api/">CSS Paint API</a> to view this demo :(';
  }
</script>

demo1.js

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

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

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

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

registerPaint('arc', arc);
 类似资料:
  • 请问各位大佬 这种样式可以怎么画出来呢

  • 我正在尝试解决简单的任务,但我没有找到任何优雅的解决方案。 我基本上解决了两个圆形扇区的交集。每个扇区由(-pi, pi]范围内的2个角度(从atan2 func)给出。每个选择器占用的最大角度为179.999。所以每两个角度就可以知道圆形扇区的位置。 返回值应根据以下内容描述互交:

  • 想要的效果 如何使用以下 html 只修改 css 不增加元素的前提下实现上边的效果

  • 创建一个名为“Circle”的Java类来实现Java。io。可串行化接口,并基于半径对圆进行建模。半径不能小于零。实现radius的getter和setter方法。还包括在circle类中重写toString。创建类的比较器,用于比较Circle类型的两个对象。 这就是我目前所拥有的 这是我的比较器类 我的问题是我做得对还是不对?

  • 在我的情况下,矩形接触圆形,但我认为没关系。 起初,我试着用两个Ficture来做同样的身体,但旋转有一个问题:我不能有一个带旋转的Ficture,另一个没有。 我认为,它应该与关节有某种联系,但我不知道我应该使用什么关节。也许还有其他解决方案?

  • 本文向大家介绍Android实现圆形图片的两种方式,包括了Android实现圆形图片的两种方式的使用技巧和注意事项,需要的朋友参考一下 在项目中,我们经常会用到圆形图片,但是android本身又没有提供,那我只能我们自己来完成。 第一种方式,自定义CircleImageView: 使用的时候,切记不要引用成V4报下的CircleImageView!! 另一篇文章分享的第二种方式:把图片修剪为圆形,