Jeder, der meine Artikel in letzter Zeit gelesen hat, weiß, dass ich derzeit für ein WeChat-Miniprogrammprojekt verantwortlich bin, bei dem ich auf viele interessante Dinge und einige „seltsame Ideen“ gestoßen bin. Der Hintergrund dieses Artikels ist, dass ich mir eines Morgens eine Menge Im Anschluss an den vorherigen Artikel [Analyse von yPicker-Komponenten in der benutzerdefinierten Komponentenbibliothek des WeChat-Applets und Implementierung einer dreistufigen Verknüpfung zwischen Provinzen, Städten und Bezirken] habe ich ein solches Beispiel analysiert – die benutzerdefinierte Implementierung einer dreistufigen Verknüpfung zwischen Provinzen, Städten und Bezirken. Es enthält detaillierte Codes, daher werde ich hier nicht mehr dazu sagen. Lassen Sie uns darüber sprechen, wie man es aufruft: Das ist mein damaliger Gedanke: Einerseits lag es daran, dass ich „nicht zu viel in JavaScript schreiben“ wollte, und andererseits achtete JavaScript nur auf diese drei Variablen, weil ich jeweils die Provinz, die Stadt und den Bezirk implementierte. Leerzeichen und andere Dinge zwischen ihnen wurden alle in die wxml-Datei übernommen. So was: <view class="Abteilungen Standort" bindtap="fixedshow"> <view class="depart_title">Standort</view> <view wx:if="{{provinzen&&städte&&gebiete}}" class="placeholder depart_content">{{provinzen}} {{städte}} {{gebiete}}</view> <view class="placeholder depart_content befselect" wx:else>Bitte wählen Sie Ihren aktuellen Standort aus</view> <view class="desc">Falls Änderungen vorgenommen werden, bitte ändern und erneut übermitteln</view> </Ansicht> (Da der Aufruf nachträgliche Änderungen nach sich zieht, klicken Sie im Popup-Fenster nur dann auf die Schaltfläche „Bestätigen“, wenn Sie die drei Variablen, die in diesem Code im Ereignis vorkommen, den drei Variablen zuweisen. Andernfalls ist die Änderung, sofern sie vorgenommen wird, unabhängig davon, ob Sie auf „Abbrechen“ oder „Bestätigen“ klicken, bereits erfolgt, was nicht sinnvoll ist!) Der Aufbau ist wie folgt: .Abteilungen{ Breite: 100 %; Höhe: 96rpx; Anzeige: Flex; Elemente ausrichten: zentrieren; Schriftgröße: 36rpx; Schriftstärke: 347; Textüberlauf: Auslassungspunkte; Überlauf: versteckt; Leerzeichen: Nowrap; } .Standort{ Position: relativ; Rahmen unten: 1rpx durchgezogen rgba(0,0,0,.009); Anzeige: Flex; Elemente ausrichten: Flex-Start; Polsterung oben: 20rpx; } .desc{ Position: absolut; rechts: 19rpx; unten: 4rpx; Farbe: RGB (63,142,255); Schriftgröße: 23rpx; } .Abteilungen .depart_title{ Breite: 20 %; } .Abteilungen .depart_content{ Rand links: 10 %; Textüberlauf: Auslassungspunkte; Überlauf: versteckt; Leerzeichen: Nowrap; } .Abteilungen .Platzhalter{ Breite: 69 %; Textüberlauf: Auslassungspunkte; Überlauf: versteckt; Leerzeichen: Nowrap; } Nachdem Sie sich entschieden haben, wx:if hier zu ersetzen, sollten Sie zunächst überlegen: Wodurch soll es ersetzt werden? OK, wenn Sie darüber nachdenken, sollte Ihnen eine CSS-Pseudoklasse einfallen: <view class="Abteilungen Standort" bindtap="fixedshow"> <view class="depart_title">Standort</view> <view class="placeholder depart_content">{{Provinzen}} {{Städte}} {{Gebiete}}</view> <view class="desc">Falls Änderungen vorgenommen werden, bitte ändern und erneut übermitteln</view> </Ansicht> Fügen Sie dann diese Pseudoklasse zur Klasse „depart_content“ hinzu: .placeholder:empty::vor{ Inhalt: „Bitte wählen Sie Ihren aktuellen Standort aus“; Farbe: rgba(0,0,0,.6); } Eine Niete! Nach Rücksprache mit den Informationen: Die Pseudoklasse
Die endgültige Lösung lautet: Verbinde die drei Variablen mit Leerzeichen in js und rendere sie dann auf der Seite! (Tatsächlich handelt es sich hierbei um einen benutzerdefinierten Selektor. Bei der automatischen Positionierung wird lediglich eine Anforderung an Amap gesendet, um die Felder für Provinz, Stadt und Bezirk abzurufen. Ich werde den Code nicht schreiben …) An dieser Stelle stellen wir eines fest: Wir haben oben nicht nur die leere Pseudoklasse verwendet, sondern auch das Pseudoelement davor! Tatsächlich kommt dies sehr häufig vor. Schließlich kann nur mit leeren Elementen kein Inhalt hinzugefügt werden (es scheint, dass im gesamten CSS nur Pseudoelemente wie „vorher“ und „nachher“ der Seite Inhalt hinzufügen können, egal ob es sich um Text oder Bilder handelt). Meiner Meinung nach gibt es zwei Bereiche, denen mehr Aufmerksamkeit geschenkt werden sollte:
Diese Funktion ist sehr nützlich. Aus dem Obigen können wir ersehen, dass der größte Nutzen dieser Pseudoklasse die „Eingabeaufforderung für fehlende Felder“ ist! Das ist sehr praktisch. Darüber hinaus kann das Überlassen dieser Aufgabe an CSS auch eine Menge „(Layout-)Belastung“ reduzieren, ein besseres Erlebnis bieten und die Wartung vereinfachen! Als ich das Projekt beispielsweise optimierte, fügte ich allen angeforderten Feldern einen einheitlichen Klassennamen hinzu: .ym-empty:empty::vorher{ Inhalt: „Keine Daten, bitte versuchen Sie es erneut“, Anzeige: Block; Textausrichtung: zentriert; Farbe: rgba(0,0,0,.6); /** Andere Positionierungs- und Schriftartänderungsvorgänge*/ } Damit schließe ich meinen Artikel über die CSS-Pseudoklasse „leer“ ab, der mir aufgefallen ist. Weitere Informationen zur CSS-Pseudoklasse „leer“ 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! |
<<: Einführung in die schnelle Docker-Bereitstellung eines SpringBoot-Projekts
Tutorial zur npm-Installation: 1. Laden Sie das N...
Indem ich die verschiedenen Probleme, auf die ich...
Inhaltsverzeichnis Variabler Typ und Speicherplat...
Inhaltsverzeichnis Vorwort Ursache Phänomen warum...
Inhaltsverzeichnis 1. Indextyp 1. B+ Baum 2. Was ...
Inhaltsverzeichnis Vorwort Ressourcen zum Thema V...
Vorwort Während des Entwicklungsprozesses stoßen ...
MySQL 5.7 MySQL-Befehlszeilenclient mit Befehlen ...
Vorwort Unter LINUX werden periodische Aufgaben n...
Dieser Artikel stellt hauptsächlich den relevante...
Inhaltsverzeichnis Vorwort Was ist Deno? Vergleic...
1. Komponenten installieren yum install epel-rpm-...
Problem: vue-cil3 wird mit Warnungen ausgeführt, ...
Da der Router zu Hause die Bandbreite von 300 Mbi...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...