Heim >Web-Frontend >CSS-Tutorial >Wie kann ich nur mit CSS3 einen transparenten Halbkreisausschnitt in einem Div erstellen?

Wie kann ich nur mit CSS3 einen transparenten Halbkreisausschnitt in einem Div erstellen?

DDD
DDDOriginal
2024-12-27 00:24:10219Durchsuche

How Can I Create a Transparent Half-Circle Cutout in a Div Using Only CSS3?

Erstellen eines transparenten Halbkreisausschnitts in einem Div

Problemstellung:

Erzielen eines transparenten halbkreisförmigen Ausschnitts innerhalb eines Divs nur mit CSS3, mit der Einschränkung, dass alle Elemente, die die Form bilden, entweder schwarz oder schwarz sein müssen transparent.

Lösung:

Um die gewünschte Form zu erstellen, verwenden wir die Pseudoeigenschaft ::after von CSS:

body {
  background: green;
}

.rect {
  height: 100px;
  width: 100px;
  background: rgba(0, 0, 0, 0.5);
  position: relative;
  margin-top: 100px;
  margin-left: 100px;
}

.circle {
  display: block;
  width: 100px;
  height: 50px;
  top: -50px;
  left: 0;
  overflow: hidden;
  position: absolute;
}

.circle::after {
  content: '';
  width: 100px;
  height: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: -100px;
  left: -40px;
  border: 40px solid rgba(0, 0, 0, 0.5);
}

HTML :

<div class="rect">
  <span class="circle"></span>
</div>

Diese Lösung erzeugt ein gleichseitiges Dreieck, das einen Kreis enthält, der nach oben gedrückt wird, sodass der Schnittpunkt einen Halbkreis bildet Form. Indem wir die Hintergrundeigenschaften auf Schwarz oder Transparent einstellen, erzielen wir den gewünschten Effekt.

Das obige ist der detaillierte Inhalt vonWie kann ich nur mit CSS3 einen transparenten Halbkreisausschnitt in einem Div erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn