Dieser Entwurf Mock-up ist so nah wie ich es rein CSS bekommen konnte, erfordert aber immer noch eine verschachtelte div:
Die Kurven sind mit Cubic Bezier curves gezogen. Sie müssten die Größe/den Radius für die Vorher/Nachher-Kreise anpassen.
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;
}
Ich glaube nicht, dass es zur Zeit möglich ist, gekrümmte Seiten mit reinem CSS zu haben. – Jaketr00
mm oke als ich eine Svg davon machen. – vweltje
Es gibt Möglichkeiten, Kurven mit CSS zu erstellen, siehe [diesen Artikel] (https://css-tricks.com/examples/ShapesOfCSS/) –