Heim >Web-Frontend >CSS-Tutorial >Wie kann ich mit CSS3 einen „Umkehrkreis'- oder „Ausschneidekreis'-Effekt erstellen?

Wie kann ich mit CSS3 einen „Umkehrkreis'- oder „Ausschneidekreis'-Effekt erstellen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 04:46:101035Durchsuche

How can I create an

CSS 3-Form: „Umgekehrter Kreis“ oder „Ausgeschnittener Kreis“

Erstellen von Formen, die einem „umgekehrten Kreis“ oder einem „ „Kreis ausschneiden“ in CSS ist eine häufige Designherausforderung. Hier finden Sie eine Aufschlüsselung, wie Sie diesen Effekt mit CSS 3-Techniken erzielen können:

Update: CSS3-Option für radiale Hintergrundverläufe

Für Browser, die radiale CSS3-Hintergrundverläufe unterstützen (z. B. Firefox , Chrome) kann eine transparente „Lücke“ zwischen dem Kreis und seiner Umkehrung erzeugt werden Ausschnitt:

HTML:

<div>

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;
  padding-left: 30px;
  margin-left: -30px;
  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;
  background-image: -moz-radial-gradient(
    -23px 50%,
    circle closest-corner,
    transparent 0,
    transparent 55px,
    black 56px,
    grey 57px
  );
}

Originalantwort:

Mithilfe der Z-Indizierung und Positionierung kann ein sauberer „inverser Kreis“-Effekt erzielt werden erreicht:

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;
}

Beide Methoden führen zu einem optisch ansprechenden „ „Umgekehrter Kreis“-Effekt, ohne dass Bilder erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mit CSS3 einen „Umkehrkreis'- oder „Ausschneidekreis'-Effekt 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