Heim >Web-Frontend >CSS-Tutorial >Wie kann ich eine „Umkehrkreis'-Form nur mit CSS erstellen?
Erstellen einer „Umkehrkreis“-Form mit CSS
Das Konzept eines „Umkehrkreises“ bezieht sich auf eine Form, die einen festen Kreis kombiniert mit seinem umgekehrten Ausschnitt für einen einzigartigen Effekt. Auch wenn das Erreichen dieser Form mit CSS eine Herausforderung sein mag, ist es ohne die Verwendung von Bildern möglich.
Lösung für Hintergrundverläufe
Ein Ansatz besteht darin, radiale CSS3-Hintergrundverläufe zu verwenden. Mit dieser Lösung können Sie eine Lücke zwischen dem Kreis und seinem Ausschnitt erzeugen, was zu einem komplexeren Effekt führt.
CSS:
.inversePair { border: 1px solid black; display: inline-block; position: relative; height: 100px; text-align: center; line-height: 100px; vertical-align: middle; } #a { width: 100px; border-radius: 50px; background: grey; z-index: 1; } #b { width: 200px; /* Adjust margin/padding for desired "gap" */ padding-left: 30px; margin-left: -30px; /* Real borders */ border-left: none; -webkit-border-top-right-radius: 20px; -webkit-border-bottom-right-radius: 20px; -moz-border-radius-topright: 20px; -moz-border-radius-bottomright: 20px; border-top-right-radius: 20px; border-bottom-right-radius: 20px; /* Inverse circle "cut" */ background-image: -moz-radial-gradient( -23px 50%, circle closest-corner, transparent 0, transparent 55px, black 56px, grey 57px ); background-image: -webkit-radial-gradient(-23px 50%, circle closest-corner, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 55px, black 56px, grey 57px); background-image: -ms-radial-gradient(-23px 50%, circle closest-corner, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 55px, black 56px, grey 57px); background-image: -o-radial-gradient(-23px 50%, circle closest-corner, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 55px, black 56px, grey 57px); background-image: radial-gradient(-23px 50%, circle closest-corner, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 55px, black 56px, grey 57px); }
Z- Indexlösung
Ein anderer Ansatz konzentriert sich auf die Verwendung der Z-Indizierung, um den umgekehrten Kreiseffekt zu erzeugen. Dies erfordert eine sorgfältige Positionierung der Elemente, um das gewünschte Ergebnis zu erzielen.
HTML:
<div>
CSS:
.inversePair { border: 1px solid black; background: grey; display: inline-block; position: relative; height: 100px; text-align: center; line-height: 100px; vertical-align: middle; } #a { width: 100px; border-radius: 50px; } #a:before { content: ""; left: -6px; top: -6px; position: absolute; z-index: -1; width: 112px; height: 112px; border-radius: 56px; background-color: white; } #b { width: 200px; z-index: -2; padding-left: 50px; margin-left: -55px; overflow: hidden; -webkit-border-top-right-radius: 20px; -webkit-border-bottom-right-radius: 20px; -moz-border-radius-topright: 20px; -moz-border-radius-bottomright: 20px; border-top-right-radius: 20px; border-bottom-right-radius: 20px; } #b:before { content: ""; left: -58px; top: -7px; position: absolute; width: 114px; height: 114px; border-radius: 57px; background-color: black; }
Das obige ist der detaillierte Inhalt vonWie kann ich eine „Umkehrkreis'-Form nur mit CSS erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!