html - Bootstrap中的联锁圆圈div问题
问题描述
我正在使用圆形和矩形 div 在 Bootstrap 中创建这个图表 - 我唯一的问题是我需要在一条线上有两个圆形 div - 在中间像 ven 图表一样互锁,
我应该使用相对定位还是绝对定位?
我也可以使用多重混合吗?
这是 HTML 标记
<div class="white-grad" style="--b:12px;--c:linear-gradient(140deg,red,yellow,green)">
</div>
<div class="white-grad" style="--b:12px;--c:linear-gradient(140deg,red,yellow,green); margin-bottom: 40px">
</div>
这是我到目前为止的CSS:
.white-grad {
--b:12px; /* border width*/
color: #313149;
display: block;
margin: auto;
width:150px;
position:relative;
z-index:0;
}
.white-grad:after {
content:"";
display:inline-block;
padding-top:100%;
}
.white-grad:before {
content:"";
position:absolute;
z-index:-1;
top:0;
left:0;
right:0;
bottom:0;
background: var(--c,linear-gradient(to right, #9c20aa, #fb3570));
-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--b) - 1px),#fff calc(100% - var(--b)));
mask:radial-gradient(farthest-side,transparent calc(100% - var(--b) - 1px),#fff calc(100% - var(--b)));
border-radius:50%;
}
非常感谢,
解决方案
所以我要做的是给他们每个人一个单独的 ID,然后你可以将其中一个转移到另一个上。还要让它们同时使用,display: inline-block;
而不是仅仅将它们并排放置。看看我在这里做了什么:
.white-grad {
--b:12px; /* border width*/
color: #313149;
display: inline-block;
margin: auto;
width:150px;
position:relative;
z-index:0;
}
.white-grad:after {
content:"";
display:inline-block;
padding-top:100%;
}
.white-grad:before {
content:"";
position:absolute;
z-index:-1;
top:0;
left:0;
right:0;
bottom:0;
background: var(--c,linear-gradient(to right, #9c20aa, #fb3570));
-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--b) - 1px),#fff calc(100% - var(--b)));
mask:radial-gradient(farthest-side,transparent calc(100% - var(--b) - 1px),#fff calc(100% - var(--b)));
border-radius:50%;
}
#grad2 {
right: 50px;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="white-grad" id="grad1" style="--b:12px;--c:linear-gradient(140deg,red,yellow,green)">
</div>
<div class="white-grad" id="grad2" style="--b:12px;--c:linear-gradient(140deg,red,yellow,green); margin-bottom: 40px">
</div>
推荐阅读
- ip - 无法使用 iptables 中的特殊链阻止 IP 范围
- c# - 当我的游戏对象将一个游戏对象的位置分配给另一个游戏对象时,它会朝某个方向发射,无需输入
- android - 来自pocket-sphinx-android-demo 的连续语音识别
- c# - 如何操纵由 2D 数组表示的魔方的面以执行面旋转
- java - 线程“主”java.lang.NoSuchMethodError 中的异常:org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader()Ljava/lang/ClassLoader;
- generics - 无法笼统地定义 +?
- flutter - Flutter - 如何实现与父容器高度相同的行
- angular - 如何实现将其 HostElement 的内容包装在 div 中的指令?
- django - (DJANGO) 如何在作者评论部分设置 current.username
- php - 向 spotify 授权 API 卷曲 GET 请求