首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS: clip-path:多边形圆角边框

CSS: clip-path:多边形圆角边框
EN

Stack Overflow用户
提问于 2020-11-28 09:07:56
回答 1查看 99关注 0票数 0

我正在尝试使这个多边形的顶部和底部边缘与图标相同。有人知道我做错了什么吗?

代码语言:javascript
复制
.activity {
  max-width: 200px;
}
.activity__icon {
  border-right-radius: 50%;
  text-align: center;
  background-color: #eee;
  clip-path: polygon(50% 20%, 100% 50%, 50% 80%, 0% 50%);
  margin: 0 auto;
  padding: 2rem;
}
.activity__icon i {
  color: #707070;
  border: 2px solid #707070;
  border-radius: 50%;
  max-width: fit-content;
  padding: 15px;
  font-size: 25px;
  text-align: center;
  vertical-align: middle;
}
代码语言:javascript
复制
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css">
<div class="activity"> 
<div class="activity__icon">
<i class="fas fa-play-circle"></i>
</div>

https://codepen.io/avashavash/pen/OJRPJNL

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-03 22:51:16

您不能对多边形进行舍入,因此这里使用变换是一个不同的想法:

代码语言:javascript
复制
.activity {
  width: 200px;
}

.activity__icon {
  text-align: center;
  margin: 0 auto;
  padding: 2rem;
  position:relative;
  z-index:0;
}
.activity__icon::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:141px;  /* 200px / sqrt(2) */
  height:141px; /* 200px / sqrt(2) */
  left:50%;
  top:50%;
  background-color: #eee;
  transform:translate(-50%,-50%) rotate(45deg) rotate3d(1,-1,0,65deg);
  border-radius: 28px 0 20px 0;
}

.activity__icon i {
  color: #707070;
  border: 2px solid #707070;
  border-radius: 50%;
  padding: 15px;
  font-size: 25px;
  text-align: center;
  vertical-align: middle;
}
代码语言:javascript
复制
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css">
<div class="activity">
  <div class="activity__icon"><i class="fas fa-play-circle"></i>
  </div>

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

https://stackoverflow.com/questions/65045478

复制
相关文章

相似问题

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