Questo progetto di mock up è così vicino come ho potuto farlo puro CSS, ma richiede ancora un div nidificato. Dovresti modificare il dimensionamento/raggio per le cerchie prima/dopo.
Pen
div {
position: absolute;
top: 100px;
left: 100px;
width: 100px;
height: 100px;
border: 4px solid purple;
border-radius: 30px;
//overflow: hidden;
box-sizing: border-box;
&:before {
position: absolute;
top: -4px;
left: -94px;
content: ' ';
width: 100px;
height: 100px;
border: 4px solid purple;
border-radius: 50px;
box-sizing: border-box;
background-color: white;
clip: rect(0px, 100px, 100px, 90px);
}
&:after {
position: absolute;
top: -4px;
right: -94px;
content: ' ';
width: 100px;
height: 100px;
border: 4px solid purple;
border-radius: 50px;
box-sizing: border-box;
background-color: white;
clip: rect(0px, 10px, 100px, 0px);
}
}
div > div {
position: absolute;
top: -4px;
left: -4px;
transform: rotate(90deg);
border-color: transparent;
}
non credo è attualmente possibile avere lati curvi con puro css. – Jaketr00
mm oke di me ne faccio uno svg. – vweltje
Ci sono modi per creare curve con i CSS, vedi [questo articolo] (https://css-tricks.com/examples/ShapesOfCSS/) –