Vorwort Das Konzept des Dunkelmodus stammt ursprünglich aus Da Apple nach und nach von allen wichtigen Systemplattformen die Anpassung an Freunde, die mich kennen, sollten alle wissen, dass ich ein großer CSS-Enthusiast bin. Natürlich verwende ich dieses Mal auch reines CSS, um diese Lösung zu implementieren. Ja, ohne Hinzufügen von JS wird die Leistungsfähigkeit von CSS erneut unter Beweis gestellt. Ideen Die Idee ist einfach: Verwenden Sie eine Schaltfläche, um zwischen Designstilen hin und her zu wechseln. Wenn die Schaltfläche nicht aktiviert ist, wird :checked : Das Formularelement mit der aktivierten Option + : benachbarte Geschwisterelemente eines Elements Mit <Text> <input Klasse="ios-switch" Typ="checkbox"> <div class="main">Website-Text</div> </body> Weitere Selektorfunktionen und -klassifizierungen finden Sie in meinem Artikel „Die wahrscheinlich umfassendste und am einfachsten zu merkende Methode zur CSS-Selektorklassifizierung“. Umschaltfläche Ich wollte einen gut aussehenden Button entwerfen, hatte aber keine besonderen Ideen, also öffnete ich mein iPhone und implementierte Größe und Farbe entsprechen der Umschalttaste des iPhone . Die Idee besteht darin, mit <input Klasse="ios-switch" Typ="checkbox"> .btn { Rahmenradius: 31px; Breite: 102px; Höhe: 62px; Hintergrundfarbe: #e9e9eb; } .ios-Schalter { Position: relativ; Aussehen: keines; Cursor: Zeiger; Übergang: alle 100ms; @erweitern .btn; &::vor { Position: absolut; Inhalt: ""; Übergang: alle 300 ms kubisch-bézier (.45, 1, .4, 1); @erweitern .btn; } &::nach { Position: absolut; links: 4px; oben: 4px; Rahmenradius: 27px; Breite: 54px; Höhe: 54px; Hintergrundfarbe: #fff; Kastenschatten: 1px 1px 5px rgba(#000, .3); Inhalt: ""; Übergang: alle 300 ms kubisch-bézier (.4, .4, .25, 1.35); } &:geprüft { Hintergrundfarbe: #5eb662; &::vor { transformieren: Skalierung(0); } &::nach { transformieren: übersetzenX(40px); } } } Klicken Sie hier, um die Online-Demo und den Quellcode anzuzeigen. Dunkler Modus Erinnern Sie sich an den 4. April, als das gesamte Internet in Trauermodus ging? Der Autor veröffentlichte einen Artikel mit dem Titel „Eine Codezeile versetzt die gesamte Site in den Trauermodus“, in dem er geschickt den leistungsstarken CSS- html { Filter: Graustufen (1); } Es handelt sich tatsächlich nur um eine Codezeile, und dieses Mal ist keine Ausnahme. html { Filter: invertieren(1) Farbton-Drehung(180 Grad); } Die Kompatibilität des Dieser invert() : Kehrt das Bild um und gibt es umgekehrt aus. Ein Wert von hue-rotate() : Farbtonrotation, Abschwächung der Bildfärbung, Verarbeitung von anderen Farben als Schwarz und Weiß, ein Wert von Gemäß der obigen Analyse können Sie, wenn sich die Schaltfläche im ausgewählten Zustand befindet, mit .ios-Schalter { ... &:geprüft { ... & + .main { Filter: invertieren(1) Farbton-Drehung(180 Grad); } } } .hauptsächlich { Hintergrundfarbe: #fff; Übergang: alle 300ms; } Um die Wirkung auf CodePen besser zu demonstrieren, verwenden wir Optimierung Aufmerksamen Schülern kann es passieren, dass die Bilder alle wie Ultraschallbilder aussehen. Gemäß den Designprinzipien bezieht sich Skinning nur auf Komponenten. Einige Medienelemente wie Hintergründe, Bilder, Videos usw. können nicht direkt verarbeitet werden und müssen so bleiben, wie sie sind. Da Bild, Video Filter: invertieren(1) Farbton-Drehung(180 Grad); } Eine weitere Frage ist, wie mit dem Hintergrund umzugehen ist? Wie wir alle wissen, werden Hintergründe mithilfe Durch Anzeigen des Website-Quellcodes Bild, Video, .Avatar, .Bild, .Daumen { Filter: invertieren(1) Farbton-Drehung(180 Grad); } Auf einer allgemeinen Website können Sie diesen Klassennamen selbst definieren. Am praktischsten ist es, einen bestimmten .ausschließen { Filter: invertieren(1) Farbton-Drehung(180 Grad); } Renovierung Um die Demonstration des Codes zu erleichtern, verwenden wir Drücken Sie <Text> <div id="__nuxt">...</div> </body> Fügen Sie <Text> <input Klasse="ios-switch" Typ="checkbox"> <div id="__nuxt">...</div> </body> Wandeln Sie den folgenden .btn { Rahmenradius: 31px; Breite: 102px; Höhe: 62px; Hintergrundfarbe: #e9e9eb; } .ios-Schalter { Position: relativ; Aussehen: keines; Cursor: Zeiger; Übergang: alle 100ms; @erweitern .btn; &::vor { Position: absolut; Inhalt: ""; Übergang: alle 300 ms kubisch-bézier (.45, 1, .4, 1); @erweitern .btn; } &::nach { Position: absolut; links: 4px; oben: 4px; Rahmenradius: 27px; Breite: 54px; Höhe: 54px; Hintergrundfarbe: #fff; Kastenschatten: 1px 1px 5px rgba(#000, .3); Inhalt: ""; Übergang: alle 300 ms kubisch-bézier (.4, .4, .25, 1.35); } &:geprüft { Hintergrundfarbe: #5eb662; &::vor { transformieren: Skalierung(0); } &::nach { transformieren: übersetzenX(40px); } & + #__nuxt { Filter: invertieren(1) Farbton-Drehung(180 Grad); Bild, Video, .Avatar, .Bild, .Daumen { Filter: invertieren(1) Farbton-Drehung(180 Grad); } } } } #__nuxt { Hintergrundfarbe: #fff; Übergang: alle 300ms; } Wenn .ios-Schalter { Position: absolut; rechts: 0; oben: 0; Z-Index: 99999; Gliederung: keine; } Oder erstellen Sie irgendwo in Wenn Sie die Erklärung als etwas verwirrend empfinden, können Sie sie etwas übersichtlicher gestalten und die obigen Vorgänge in drei Schritten durchführen. Öffnen Sie die Nuggets Community-Website Drücken Sie Um das Kopieren und Einfügen zu erleichtern, hat der Autor den aus der obigen Analyse erhaltenen CSS-Code komprimiert. <Styles> .btn, .ios-switch :: vor, .ios-switch {border-radius: 31px; width: 102px; Höhe: 62px; Hintergrundfarbe:#e9e9eb;}. iOS-switch {Position: Relativ; Aussehen: Keine Cursor: Düster; IC-Bezier (0,45,1,0,4,1); -Bezier (0,4,0,4,0,25,1,35); 1) Hue-Rotate (180-°);} );} #__ nuxt {Hintergrund-Color: #fff; Übergang: Alle 300 ms;}
<Text> <input Klasse="ios-switch" Typ="checkbox"> <div id="__nuxt">...</div> </body> Auf diese Weise kann eine reine CSS-Implementierung dafür sorgen, dass die Website sofort über Zusammenfassen Die gesamte <Text> <input Klasse="ios-switch" Typ="checkbox"> <div class="main">Website-Text</div> </body> .ios-Schalter { ... &:geprüft { ... & + .main { Filter: invertieren(1) Farbton-Drehung(180 Grad); Bild, Video, .ausschließen { Filter: invertieren(1) Farbton-Drehung(180 Grad); } } } } .hauptsächlich { Hintergrundfarbe: #fff; Übergang: alle 300ms; } Im Vergleich zur Diese Lösung hat die folgenden Funktionen.
Es ist in Ordnung, es zu versuchen. Wenn Sie fertig sind und denken, dass die Ergebnisse gut sind, bitten Sie Ihren Chef um eine Gehaltserhöhung:stuck_out_tongue_winking_eye:, haha! Damit ist dieser Artikel über die kostenlose Verwendung von reinem CSS zum Aktivieren des Dunkelmodus für Websites abgeschlossen. Weitere Informationen zum CSS-Dunkelmodus finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! |
<<: MySQL-Operator-Zusammenfassung
>>: Lösung für die nicht angezeigte IP-Adresse unter Linux
Inhaltsverzeichnis Hintergrund 1) Aktivieren Sie ...
Die MySQL-Installation ist relativ einfach. Norma...
Inhaltsverzeichnis Vorwort Zweidimensionales Arra...
Inhaltsverzeichnis Vorwort Start Schritt Fehlerbe...
Inhaltsverzeichnis Kartenstaat Kartengetter Karte...
In diesem Artikel wird der Beispielcode einer CSS...
1. Offizielle OpenSSL-Website Offizielle Download...
Inhaltsverzeichnis 1. Kurze Einführung 2. Screens...
Sinnvolle Einstellung des MySQL sql_mode sql_mode...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikel werden die detaillierten Schrit...
Bei täglichen Betriebs- und Wartungsarbeiten ist ...
Inhaltsverzeichnis 1. Virtueller Host 1.1 Virtuel...
Inhaltsverzeichnis Vorne geschrieben Anforderungs...
In diesem Artikel wird der spezifische Code von j...