css样式shadow+渐变实现内切角

作者:Jasmine - 2020年12月10日

css样式shadow+渐变实现内切角

html:

<div class="shadow">使用阴影的扩散半径实现内切圆角</div>
<div class="shadow2">阴影实现缺点,单个标签最多是2边</div>
<div class="linear">使用径向渐变实现内切圆角</div>
<div class="linear2">径向渐变实现内切圆角可以是4边</div>

css:

body {
  background: linear-gradient(90deg, #fff, #bbb);
}

div {
  position: relative;
  width: 20vw;
  height: 8vw;
  margin: 1vw auto;
  border-radius: 1vmin;
  overflow: hidden;
  line-height: 8vw;
  color: #fff;
  text-align: center;
}

.shadow::before {
  position: absolute;
  content: "";
  top: -2vw;
  left: -2vw;
  width: 4vw;
  height: 4vw;
  border-radius: 50%;
  box-shadow: 0 0 0 25vw #e91e63;
  z-index: -1;
  /* animation: shadowmove 10s infinite; */
}

.shadow2::before {
  position: absolute;
  content: "";
  top: -2vw;
  left: -2vw;
  width: 4vw;
  height: 4vw;
  border-radius: 50%;
  box-shadow: 0 0 0 15vw #e91e63;
  z-index: -1;
}
.shadow2::after {
  position: absolute;
  content: "";
  bottom: -2vw;
  right: -2vw;
  width: 4vw;
  height: 4vw;
  border-radius: 50%;
  box-shadow: 0 0 0 15vw #e91e63;
  z-index: -1;
}

@keyframes shadowmove {
  0% {
	background: #e91e63;
	box-shadow: 0 0 0 0 #e91e63;
  }
  10% {
	background: transparent;
	box-shadow: 0 0 0 0 #e91e63;
  }
  50% {
	background: transparent;
	box-shadow: 0 0 0 25vw #e91e63;
  }
}
.linear {
  background-size: 100% 100%;
  background-image: radial-gradient(circle at 0 0, transparent 0, transparent 2vw, #03A9F5 2vw);
  background-repeat: no-repeat;
}

.linear2 {
  filter: drop-shadow(0 0 3px #666);
  background-size: 70% 70%;
  background-image: radial-gradient(circle at 100% 100%, transparent 0, transparent 2vw, #03A9F5 2vw), 
					radial-gradient(circle at 0 0, transparent 0, transparent 2vw, #03A9F5 2vw), 
					radial-gradient(circle at 100% 0, transparent 0, transparent 2vw, #03A9F5 2vw), 
					radial-gradient(circle at 0 100%, transparent 0, transparent 2vw, #03A9F5 2vw);
  background-repeat: no-repeat;
  background-position: right bottom, left top, right top, left bottom;
}

效果:


本文作者: Jasmine

本文链接: https://www.jianbaizhan.com/article/712

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!