css实现内凹圆角样式

最新开发遇到一个弹框,弹框中间有两个内凹的半圆,而且还是透明的,不能遮挡到底层的内容。基于这个需求,找到了一个比较好的实现方法。

先上一下demo效果图:

css实现内凹圆角样式_第1张图片

实现这个效果主要是用了background-image 结合径向渐变radial-gradient。
示例:
background-image: radial-gradient(circle 10px at 0 100%, transparent 50px, red 50%);

而对于径向渐变,主要是3个参数控制。
一个是原点和大小。大小类似border-radius的感觉,原点使用at表示可以指定点的坐标,或使用left、right、top、bottom来表示。
其次是两个颜色和透明度、大小等。这里50px或百分比,亲测第一个只有50才是半圆角,而第二个50%貌似影响不大。

下面是代码:







最后补充一下径向渐变radial-gradient() 函数的知识点

语法:
background-image: radial-gradient(shape size at position, start-color, ..., last-color);

css实现内凹圆角样式_第2张图片



作者:小莫莫呀
链接:https://www.jianshu.com/p/1b0ec60dae85
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(前端)