【问题标题】:CSS: clip-path: polygon - rounded-bordersCSS:剪辑路径:多边形 - 圆形边框
【发布时间】:2021-03-10 17:12:26
【问题描述】:

我正在尝试将此多边形的顶部和底部边缘舍入到与图标相同的位置。 有人知道我做错了什么吗?

.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;
}
<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

【问题讨论】:

  • 多边形没有曲线。您需要使用path

标签: css clip-path


【解决方案1】:

你不能对多边形进行圆形,所以这里有一个使用变换的不同想法:

.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;
}
<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>

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2017-01-23
    • 2018-12-16
    • 2021-12-06
    • 2016-06-28
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多