suchen
HeimWeb-FrontendCSS-TutorialStyling -Schaltflächen in WordPress -Blockthemen

Styling Buttons in WordPress Block Themes

Neue Funktionen, die in WordPress 6.1 eingeführt wurden, bieten die Steuerung für die direkte Anwendung von Schatten direkt in der Benutzeroberfläche von Blockeditor und Site -Editor. Dieser Artikel wird in eine Möglichkeit eintauchen, Schaltflächen in WordPress -Block -Themen zu stylen, insbesondere mit theme.json Dateien.

Warum die Schaltfläche auswählen? Dies ist eine gute Frage, fangen wir hier an.

verschiedene Arten von Schaltflächen

Im Kontext des WordPress -Block -Editors müssen wir zwischen zwei verschiedenen Arten von Schaltflächen unterscheiden:

  1. Subblocks im Button -Block.
  2. Schaltflächen, die in anderen Blöcken verschachtelt sind (z. B. der Artikel -Kommentar -Formularblock für Artikel).

Wenn wir diese beiden Blöcke zur Vorlage hinzufügen, haben sie standardmäßig das gleiche Erscheinungsbild.

Aber seine Markierungen sind sehr unterschiedlich:

<div>
  <a>Button 1</a>
</div>
<p>
  </p>

Wir können sehen, dass die HTML -Tagennamen unterschiedlich sind. Es sind die gemeinsamen Klassennamen - .wp-block-button und .wp-element-button -, die den konsistenten Stil der beiden Schaltflächen sicherstellen.

Wenn wir CSS schreiben, werden wir diese beiden Klassen ansprechen. Aber wie wir alle wissen, haben WordPress -Block -Themen unterschiedliche Stilverwaltungsmethoden, dh über theme.json Dateien.

Wie definieren Sie Knopfstile in theme.json ohne tatsächliche CSS zu schreiben? Lass es uns zusammen machen.

Erstellen Sie grundlegender Stil

theme.json ist ein strukturierter Satz von Mustern, die in Form von Attribut geschrieben sind: Wertpaare. Das Attribut auf der obersten Ebene heißt "Abschnitte" und wir werden den Abschnitt styles verwenden. Hier befinden sich alle Stilrichtlinien.

Wir werden in styles besondere Aufmerksamkeit schenken. Dieser Selektor lokalisiert HTML -Elemente, die zwischen den Blöcken geteilt werden. Hier ist das grundlegende Framework, das wir verwenden: elements

// theme.json
{
  "version": 2,
  "styles": {
    "elements": {
      // etc.
    }
  }
}
Was wir tun müssen, ist ein Tastenelement zu definieren.

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        // etc.
      }
    }
  }
}
Diese Taste entspricht dem HTML -Element, mit dem das Taste -Element am vorderen Ende markiert wird. Diese Schaltflächen enthalten HTML -Tags, die möglicherweise einer unserer zwei Tastentypen sein können: eigenständige Komponenten (d. H. Tastenblöcke) oder Komponenten, die in einem anderen Block verschachtelt sind (z. B. Artikel -Kommentarblöcke).

Anstatt jeden einzelnen Block stylen zu müssen, erstellen Sie einen gemeinsamen Stil. Lassen Sie uns die Standard -Hintergrundfarbe und die Textfarbe für die zwei Schaltflächentypen im Thema ändern. Es gibt ein Farbobjekt darin, das wiederum Hintergrund- und Texteigenschaften unterstützt, wo wir den gewünschten Wert festlegen:

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        "color": {
          "background": "#17a2b8",
          "text": "#ffffff"
        }
      }
    }
  }
}
Dies verändert die Farben beider Tasten.

Wenn Sie Devtools öffnen und die von WordPress für die Schaltfläche generierten CSS anzeigen, werden wir feststellen, dass die

-Klasse den in .wp-element-button: theme.json definierten Stil hinzufügt

.wp-element-button {
  background-color: #17a2b8;
  color: #ffffff;
}
Dies sind unsere Standardfarben! Als nächstes möchten wir Benutzern visuelles Feedback geben, wenn sie mit Schaltflächen interagieren.

Implementieren Sie den interaktiven Schaltflächenstil

Da es sich um eine Site über CSS handelt, sind viele von Ihnen bereits mit dem Interaktionsstatus von Links und Schaltflächen vertraut. Wir können den Mauszeiger über sie schweben (:hover), Registerkarte ihnen, um sie zu konzentrieren (:focus) und sie klicken, um sie aktiv zu halten (:active). Es gibt sogar einen :visited Status, der dem Benutzer visuell zeigt, dass er zuvor darauf geklickt hat.

Dies sind CSS-Pseudoklassen, mit denen wir die Interaktion von Links oder Schaltflächen lokalisieren.

In CSS können wir den :hover Zustand wie folgt stylen:

<div>
  <a>Button 1</a>
</div>
<p>
  </p>

In theme.json werden wir diese Pseudoklassen verwenden, um vorhandene Tastenerklärungen zu erweitern.

// theme.json
{
  "version": 2,
  "styles": {
    "elements": {
      // etc.
    }
  }
}

Bitte beachten Sie die "strukturierten" Eigenschaften. Wir folgen im Grunde einer Zusammenfassung:

  • Element
    • Element
      • Objekt
        • Eigenschaften
          • Wert

Wir haben nun die vollständige Definition der Standard- und interaktiven Stile der Schaltfläche abgeschlossen. Aber was ist, wenn wir einige in andere Blöcke verschachtelte Tasten stylen wollen?

Stellen Sie den Stil der Schaltflächen ein, die in jedem Block verschachtelt sind

Nehmen wir an, wir möchten, dass alle Schaltflächen mit einer Ausnahme unseren grundlegenden Stil haben. Wir möchten, dass die Schaltfläche "Senden" im Artikel -Kommentarformularblock für Artikel blau ist. Wie sollen wir es erreichen?

Dieser Block ist komplexer als ein Schaltflächenblock, da er aktivere Teile enthält: Formulare, Eingänge, beschreibender Text und Schaltflächen. Um die Schaltflächen in diesem Block zu lokalisieren, müssen wir dieselbe JSON -Struktur wie das Schaltflächenelement befolgen, jedoch auf den Block "Artikel Kommentarformular" an das core/post-comments-form Element zugeordnet werden:

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        // etc.
      }
    }
  }
}

Bitte beachten Sie, dass wir in elements nicht mehr arbeiten. Stattdessen arbeiten wir innerhalb von blocks, wodurch die tatsächlichen Blöcke konfiguriert werden. Im Gegensatz dazu werden Schaltflächen als globales Element angesehen, da sie in Blöcken verschachtelt werden können, selbst wenn sie als eigenständige Blöcke verwendet werden können.

JSON -Struktur unterstützt Elemente innerhalb von Elementen. Wenn im Artikel -Kommentarformular Block ein Schaltflächenelement vorhanden ist, können wir ihn im core/post-comments-form -Block finden:

{
  "version": 2,
  "styles": {
    "elements": {
      "button": {
        "color": {
          "background": "#17a2b8",
          "text": "#ffffff"
        }
      }
    }
  }
}

Dieser Selektor bedeutet, dass wir nicht nur einen bestimmten Block lokalisieren, sondern auch ein bestimmtes Element lokalisieren, das in diesem Block enthalten ist. Jetzt haben wir eine Reihe von Standard -Schaltflächenstilen, die für alle Schaltflächen im Thema gelten, und eine Reihe von Stilen, die für bestimmte Schaltflächen gelten, die im Artikel -Block für Artikelkommentare enthalten sind.

WordPress erzeugte CSS hat daher einen genaueren Selektor:

.wp-element-button {
  background-color: #17a2b8;
  color: #ffffff;
}

Was ist, wenn wir verschiedene interaktive Stile für die Schaltfläche "Article Comment Form" definieren möchten? Dies ist genauso wie für die Standardstile, außer dass diese Stile im core/post-comments-form -Block definiert sind:

<div>
  <a>Button 1</a>
</div>
<p>
  </p>

Was soll ich tun, wenn die Tasten in Nicht-Blocks?

WordPress generiert automatisch die richtigen Klassen, um diese Schaltflächenstile auszugeben. Aber was ist, wenn Sie ein "hybrides" WordPress-Thema verwenden, das Block- und Standortbearbeitung unterstützt, aber auch "klassische" PHP-Vorlagen enthält? Oder was ist, wenn Sie einen benutzerdefinierten Block erstellt haben, sogar eine alte Version des Shortcode mit einer Schaltfläche? Diese werden nicht von Motoren im WordPress -Stil gehandhabt!

Mach dir keine Sorgen. In all diesen Fällen fügen Sie die .wp-element-button -Kläufe zur Vorlage, dem Block- oder Shortcode -Tag hinzu. Die von WordPress erzeugten Stile werden dann angewendet.

In einigen Fällen können Sie die Markierung möglicherweise nicht kontrollieren. Zum Beispiel können einige Block -Plugins zu willkürlich sein und ihre eigenen Stile nach Belieben anwenden. Zu diesem Zeitpunkt können Sie normalerweise zur erweiterten Option im Blockeinstellungsfeld wechseln und die Klasse dort anwenden:

Zusammenfassung

Während es sich möglicherweise umständlich anfühlt, "CSS" in theme.json zuerst zu schreiben, fand ich es als zweite Natur. Wie CSS können Sie eine begrenzte Anzahl von Eigenschaften ausgiebig oder sehr genau mit dem richtigen Selektor anwenden.

Und vergessen Sie nicht, theme.json drei Hauptvorteile zu verwenden:

  1. Stile gelten für Tasten in Front-End-Ansicht und Blockeditor.
  2. Ihr CSS wird mit zukünftigen WordPress -Updates kompatibel sein.
  3. Die generierten Stile sind mit Blockthemen und klassischen Themen kompatibel - und muss nichts in einem separaten Stilblatt kopieren.

Wenn Sie den theme.json -Stil in Ihrem Projekt verwenden, teilen Sie bitte Ihre Erfahrungen und Ideen mit. Ich freue mich darauf, Kommentare und Feedback zu lesen!

Das obige ist der detaillierte Inhalt vonStyling -Schaltflächen in WordPress -Blockthemen. 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
Was ist CSS Grid?Was ist CSS Grid?Apr 30, 2025 pm 03:21 PM

CSS Grid ist ein leistungsstarkes Tool zum Erstellen komplexer, reaktionsschneller Weblayouts. Es vereinfacht das Design, verbessert die Zugänglichkeit und bietet mehr Kontrolle als ältere Methoden.

Was ist CSS Flexbox?Was ist CSS Flexbox?Apr 30, 2025 pm 03:20 PM

In Artikel wird CSS Flexbox erörtert, eine Layoutmethode zur effizienten Ausrichtung und Verteilung des Raums in reaktionsschnellen Designs. Es erklärt die Verwendung von Flexbox, vergleicht es mit CSS -Gitter und Details Browser -Unterstützung.

Wie können wir unsere Website mit CSS reagieren?Wie können wir unsere Website mit CSS reagieren?Apr 30, 2025 pm 03:19 PM

In dem Artikel werden Techniken zum Erstellen von reaktionsschnellen Websites mithilfe von CSS erörtert, einschließlich Ansichtsfenster -Meta -Tags, flexiblen Gitter, Flüssigkeitsmedien, Medienabfragen und relativen Einheiten. Es deckt auch mit CSS -Raster und Flexbox zusammen und empfiehlt CSS -Framework

Was macht die CSS-Box-Größeneigenschaft?Was macht die CSS-Box-Größeneigenschaft?Apr 30, 2025 pm 03:18 PM

In dem Artikel wird die CSS-Box-Größeneigenschaft erörtert, in der die Berechnung der Elementabmessungen steuert. Es erklärt Werte wie Inhaltsbox, Border-Box und Padding-Box sowie deren Auswirkungen auf das Layout-Design und die Form von Formularausrichtung.

Wie können wir mit CSS animieren?Wie können wir mit CSS animieren?Apr 30, 2025 pm 03:17 PM

In Artikel wird das Erstellen von Animationen mithilfe von CSS, Schlüsseleigenschaften und Kombination mit JavaScript erläutert. Hauptproblem ist die Browserkompatibilität.

Können wir mit CSS 3D -Transformationen zu unserem Projekt hinzufügen?Können wir mit CSS 3D -Transformationen zu unserem Projekt hinzufügen?Apr 30, 2025 pm 03:16 PM

In Artikel werden CSS für 3D -Transformationen, wichtige Eigenschaften, Browserkompatibilität und Leistungsüberlegungen für Webprojekte erläutert. (Charakterzahl: 159)

Wie können wir Gradienten in CSS hinzufügen?Wie können wir Gradienten in CSS hinzufügen?Apr 30, 2025 pm 03:15 PM

In dem Artikel werden CSS -Gradienten (linear, radial, wiederholt) beschrieben, um die Website -Visuals, das Hinzufügen von Tiefe, Fokus und moderne Ästhetik zu verbessern.

Was sind Pseudoelemente in CSS?Was sind Pseudoelemente in CSS?Apr 30, 2025 pm 03:14 PM

In Artikel werden Pseudoelemente in CSS, deren Verwendung bei der Verbesserung des HTML-Stylings und der Unterschiede zu Pseudoklassen erläutert. Bietet praktische Beispiele.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools