<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.one,
.two,
.three {
width: 200px;
height: 100px;
text-align: center;
border: 2px solid black;
display: inline-block;
position: relative;
justify-content: center;
margin: 0 auto;
box-sizing: border-box !important;
}
.one::after,
.one::before,
.two::before,
.two::after,
.three::before,
.three::after {
content: '';
pointer-events: none;
position: absolute;
display: block;
width: 20px;
height: 20px;
border-radius: 20px;
background-color: white;
}
.one::before,
.two::before,
.three::before {
top: 35px;
left: -9px;
}
.one::after,
.two::after,
.three::after {
top: 35px;
right: -9px;
}
.one::before {
background-color: white;
border-color: transparent;
border-right: 2px solid black;
border-bottom: 2px solid black;
transform: rotate(-45deg);
border-radius: 20px;
}
.one::after {
border-color: transparent;
border-left: 2px solid black;
border-bottom: 2px solid black;
border-radius: 20px;
transform: rotate(45deg);
}
.two {
background-color: black;
color: white;
}
.three::before {
border-radius: 0 125% 125% 0 / 0 100% 100% 0;
border: 1px solid black;
border-left: transparent;
background: white;
left: -3px;
}
.three::after {
border-radius: 125% 0 0 125% / 100% 0 0 100%;
/* border-radius: 0 200% 200% 0 / 0 100% 100% 0; */
border: 1px solid black;
border-right: transparent;
background: white;
right: -3px;
}
</style>
</head>
<body style="text-align: center;flex-direction:row; ">
<div class="one">两个伪元素实现</div>
<div class="two">两个伪元素实现</div>
<div class="three">单个伪元素实现</div>
</body>
</html>
</html>