首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS mask/-webkit-mask在safari中不起作用

CSS mask/-webkit-mask在safari中不起作用
EN

Stack Overflow用户
提问于 2021-02-01 19:51:04
回答 1查看 530关注 0票数 0

我有一个项目,我试图绘制一个具有渐变边界的圆。我已经让它在Chrome中工作了。但是这个样式在safari中不起作用。我不知道为什么它行不通。我为safari添加了一个mask:版本。

代码语言:javascript
复制
.gradient-circle {
  height: 10rem;
  width: 10rem;

  --b: 5px;
  /* border width*/
  display: inline-block;
  margin: 10px;
  z-index: 0;
  position:relative;
}

.gradient-circle:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--c, linear-gradient(to top, #5454d4, rgba(249, 116, 104)));
  mask: linear-gradient(0deg, #fff, transparent 96%), radial-gradient( farthest-side, transparent calc(100% - var(--b) - 1px), #fff calc(100% - var(--b))) content-box;
  -webkit-mask: linear-gradient(0deg, #fff, transparent 96%), radial-gradient( farthest-side, transparent calc(100% - var(--b) - 1px), #fff calc(100% - var(--b))) content-box;
  mask-composite: intersect;
  -webkit-mask-composite: destination-in;
  border-radius: 50%;
  padding: 1px;
}
代码语言:javascript
复制
<span class="gradient-circle"></span>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 20:05:40

这里有一个不同的想法,没有mask-composite,我想这是罪魁祸首。只需考虑额外的一层,以便能够单独应用这两个蒙版

代码语言:javascript
复制
.gradient-circle {
  height: 10rem;
  width: 10rem;
  --b: 5px; /* border width*/
  display: inline-block;
  margin: 10px;
  z-index: 0;
  position: relative;
}

.gradient-circle div,
.gradient-circle div:before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.gradient-circle div {
  -webkit-mask: linear-gradient(0deg, #fff, transparent 96%);
}

.gradient-circle div:before {
  content: "";
  background: var(--c, linear-gradient(to top, #5454d4, rgba(249, 116, 104)));
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--b) - 1px), #fff calc(100% - var(--b))) content-box;
  border-radius: 50%;
  padding: 1px;
}
代码语言:javascript
复制
<span class="gradient-circle">
  <div></div>
</span>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65992243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档