CSS圆弧遮罩

想要实现少半圆圆弧遮罩,刚开始只是通过一个div标签,画一个长方形,通过border-radius属性设置来实现,对于半圆可以通过这个属性设置。但是对于图中所示的变更部分的遮罩来说,少半圆单单通过border-radius来实现不太可能,也可能是我的技术不够。
最后实现的思路是:div标签里面包含两个div标签,在父div里面对其设置绝对定位;分别在两个子div里面设置对应的占位高度就可以了。


预实现效果

html部分

<div class="head-img-shade">
  <div class="head-img-shade-top"></div>
  <div class="head-img-shade-bottom"></div>
</div>

css部分

.head-img-shade {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        position: absolute;
        overflow: hidden;   /*这句是关键*/
        background-color: #07589a;
    }
    .head-img-shade-top {
        width: 60px;
        height: 60px;
        background-color: rgba(0, 0, 0, 0);
    }
    .head-img-shade-bottom {
        width: 80px;
        height: 20px;
        background-color: rgba(0, 0, 0, 0.6);
    }