Heim  >  Artikel  >  Web-Frontend  >  Wie erstelle ich mit reinem CSS ein responsives 45-Grad-Menüband mit einer gefalteten Ecke?

Wie erstelle ich mit reinem CSS ein responsives 45-Grad-Menüband mit einer gefalteten Ecke?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 12:26:29771Durchsuche

How to Create a Responsive 45-Degree Ribbon with a Folded Corner Using Pure CSS?

Erstellen eines reaktionsfähigen 45-Grad-Menübands mit gefalteten Ecken

Ist es möglich, ein CSS-Menüband in Form einer Ecke zu erstellen?

Verwenden eines PNG Das Bild ist eine Option, aber für die Reaktionsfähigkeit ist es nicht ideal. So erstellen Sie es rein mit CSS:

<code class="css">.container {
  width: 200px;
  height: 150px;
  position: relative;
  display: inline-block;
  margin: 10px;
  background: lightblue;
}

.stack-top {
  --d: 5px;
  --g: 16px;
  --c: #333;

  position: absolute;
  top: 0;
  right: 0;
  transform: translate(29.29%, -100%) rotate(45deg);
  color: #fff;
  text-align: center;
  width: 100px;
  transform-origin: bottom left;
  padding: 5px 0 calc(var(--d) + 5px);
  background:
    linear-gradient(135deg, transparent var(--g), var(--c) calc(var(--g) - 0.3px)) left,
    linear-gradient(-135deg, transparent var(--g), var(--c) calc(var(--g) - 0.3px)) right;
  background-size: 51% 100%;
  background-repeat: no-repeat;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(100% - var(--d)) calc(100% - var(--d)),
    var(--d) calc(100% - var(--d)),
    0 100%
  );
}</code>

Anpassen des Menübands

Sie können die folgenden Variablen anpassen, um das Erscheinungsbild des Menübands anzupassen:

  • -- d: Steuert die Größe der Eckfalte
  • --g: Steuert die Höhe der Bandspitze
  • --c: Gibt die Farbe des Bandes an

Verwendung

Um das Menüband zu verwenden, fügen Sie einfach den folgenden HTML-Code zu Ihrem Dokument hinzu:

<code class="html"><div class="container">
  <div class="stack-top">1Month</div>
</div></code>

Sie können die benutzerdefinierten Variablen auch direkt im HTML angeben, indem Sie das Stilattribut verwenden, z siehe unten im aktualisierten Beispiel:

<code class="html"><div class="container">
  <div class="stack-top" style="--d: 0px; --g: 19px; width: 120px; --c: blue">1Month</div>
</div></code>

Das obige ist der detaillierte Inhalt vonWie erstelle ich mit reinem CSS ein responsives 45-Grad-Menüband mit einer gefalteten Ecke?. 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