VorwortDie Ähnlichkeiten und Unterschiede zwischen den drei Attributen der versteckten Elemente – Anzeige, Sichtbarkeit und Opazität – waren schon immer eine häufige Frage in Front-End-Vorstellungsgesprächen.
Gibt es neben den Anzeige-, Sichtbarkeits- und Opazitätsattributen, die Elemente verbergen können, noch weitere Attribute, die Elemente verbergen können? Welche unvermeidliche Verbindung besteht zwischen ihnen? Darüber werden wir heute sprechen. Hinweis: Aus Platzgründen werden in diesem Artikel einige kompatible Eigenschaften wie „filter:alpha(opacity=0); zoom:0;“ nicht erwähnt. Erstens: Aus dem Zugänglichkeitsbaum entfernen Mit der Anzeigeeigenschaft lässt sich die interne und externe Anzeigeart eines Elements festlegen. Wenn Sie die Anzeige auf „Keine“ setzen, wird das Element aus dem Zugänglichkeitsbaum entfernt. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Anzeige: keine</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Anzeige: keine; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Der zweite Typ: versteckte Elemente Wenn Sie die Sichtbarkeit auf „versteckt“ setzen, wird das Element unsichtbar, es befindet sich jedoch noch immer im Zugriffsbaum (das Element wird aus dem Zugriffsbaum entfernt, wenn „display: none“ gesetzt ist) und das Registrieren von Klickereignissen hat keine Auswirkung. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Sichtbarkeit: versteckt</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Sichtbarkeit: versteckt; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Der dritte Typ: transparent Opazität (Deckkraft), der Wertebereich ist 0 (vollständig transparent) ~ 1 (vollständig undurchsichtig). Wenn Sie die Opazität auf 0 setzen, wird das Element vollständig transparent. Zu diesem Zeitpunkt ist das Element unsichtbar (weil es transparent ist), befindet sich jedoch noch im Zugänglichkeitsbaum und das registrierte Klickereignis ist gültig. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Deckkraft: 0</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Deckkraft: 0; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Stellen Sie die Hintergrundfarbe, Farbe und Rahmenfarbe des Elements auf transparent ein. Das Element ist nun unsichtbar (weil es transparent ist), befindet sich aber noch immer im Zugänglichkeitsbaum und registrierte Klickereignisse sind gültig. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>transparent</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Farbe: transparent; Hintergrundfarbe: transparent; Rahmenfarbe: transparent; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html>
Technisch gesehen ist transparent eine Abkürzung für rgba(0,0,0,0), wodurch die Hintergrundfarbe, Farbe und Rahmenfarbe eines Elements auf rgba(0,0,0,0) (transparent) gesetzt werden. Zu diesem Zeitpunkt ist das Element unsichtbar (weil es transparent ist), befindet sich aber noch im Zugänglichkeitsbaum und registrierte Klickereignisse sind gültig. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <Titel>rgba(0,0,0,0)</Titel> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Farbe: rgba(0,0,0,0); Hintergrundfarbe: rgba(0,0,0,0); Rahmenfarbe: rgba(0,0,0,0); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Bei rgba muss der vierte Parameter nur 0 sein, um das Element auszublenden. Der von hsla verwendete Mechanismus zum Ausblenden von Elementen stimmt mit rgba überein, das durch den vierten Parameter Alpha gesteuert wird. Die Hintergrundfarbe, Farbe und Rahmenfarbe des Elements werden auf hsla (0, 0 %, 0 %, 0) eingestellt. Zu diesem Zeitpunkt ist das Element unsichtbar (weil es transparent ist), befindet sich jedoch immer noch im Zugänglichkeitsbaum und das registrierte Klickereignis ist gültig. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <Titel>hsla(0,0%,0%,0)</Titel> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Farbe: hsla (0,0 %, 0 %, 0); Hintergrundfarbe: hsla (0,0 %, 0 %, 0); Rahmenfarbe: hsla (0,0 %, 0 %, 0); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> hsla und rgba sind identisch, und nur der vierte Parameter muss 0 sein, um den Effekt des Ausblendens des Elements zu erzielen. Der Filter „Deckkraft (0 % ~ 100 %)“ konvertiert die Transparenz des Bildes, wobei der Wertebereich bei 0 % (vollständig transparent) ~ 100 % (vollständig undurchsichtig) liegt. Stellen Sie den Filter des Elements auf Deckkraft (0 %) ein. Das Element ist nun unsichtbar (weil es transparent ist), befindet sich aber noch immer im Zugänglichkeitsbaum und das registrierte Klickereignis ist gültig. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Filter: Deckkraft (0%)</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Filter: Deckkraft (0 %); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Viertens: Zoom Wenn Sie transform auf scale(0, 0) setzen, wird das Element auf der x- und der y-Achse auf 0 Pixel skaliert. Das Element wird angezeigt und nimmt eine Position ein, aber da es auf 0 % skaliert wurde, beträgt das Pixelverhältnis, das das Element und sein Inhalt einnehmen, 0*0, sodass das Element und sein Inhalt nicht sichtbar und nicht anklickbar sind. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Transformation: Skalierung(0, 0)</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { transformieren: Skalierung(0,0); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html>
Wenn Sie sowohl die Breite als auch die Höhe auf 0 setzen, nimmt das Element ein Pixelverhältnis von 0*0 ein. Dabei treten jedoch zwei Situationen auf: Der Unterschied zwischen dieser Methode und transform: scale(0,0) besteht darin, dass transform: scale(0,0) sowohl das Element als auch seinen Inhalt skaliert, während diese Methode das Element auf 0 Pixel skaliert und dann den Inhalt außerhalb des Elements abschneidet. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Breite: 0;Höhe: 0;Überlauf: versteckt</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Breite: 0; Höhe: 0; Überlauf: versteckt; Rahmenbreite: 0;/* Rahmenbreite: 2px im Benutzeragent-Stylesheet; */ Polsterung: 0;/* Polsterung des Benutzeragent-Stylesheets: 1px 6px; */ } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Fünftens: Rotation Drehen Sie das Element um 90 Grad im Uhrzeigersinn entlang der X-Achse, um das Element auszublenden. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Transformation: RotiereX(90 Grad)</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { transformieren: rotierenX(90 Grad); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Drehen Sie das Element um 90 Grad im Uhrzeigersinn entlang der Y-Achse, um das Element auszublenden. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Transformation: Y-Drehung(90 Grad)</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { transformieren: Y-Drehung (90 Grad); } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Der sechste Typ: Off-Screen-AnzeigepositionDas Element kann auch unsichtbar gemacht werden, indem man es aus dem Bildschirm verschiebt, aber es gibt zu viele CSS-Stile, um diesen Effekt zu erzielen. Hier geben wir nur ein Beispiel. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Anzeigeposition außerhalb des Bildschirms</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { Position: fest; oben: -100px; links: -100px; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div> <button id="bt">Schaltfläche</button> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> Siebtens: CoverSie können Elemente auch unsichtbar machen, indem Sie Elementmaskierung verwenden. Da es viele CSS-Stile gibt, um diesen Effekt zu erzielen, geben wir hier nur ein Beispiel. Code: <!DOCTYPE html> <html> <Kopf> <meta name="Zeichensatz" Inhalt="utf-8"/> <title>Titelbild</title> <style type="text/css"> div { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Zeilenhöhe: 100px; Textausrichtung: zentriert; Rand oben: 24px; } Taste { Hintergrundfarbe: schwarz; Farbe: weiß; } #bt { z-Index: -1; Position: absolut; oben: 50 %; links: 50%; transformieren: übersetzen(-50 %,-50 %); } #Abdeckung { Z-Index: 1; Position: absolut; oben: 0; links: 0; Rand: 0; } </Stil> </Kopf> <Text> <div> <button id="normal">Schaltfläche</button> </div> <div style="position: relativ;Zeilenhöhe: normal;"> <button id="bt">Schaltfläche</button> <div id="Abdeckung"></div> </div> <Skripttyp="text/javascript"> let normal = document.getElementById('normal'); let bt = document.getElementById('bt'); normal.addEventListener('klicken',Funktion(){ Warnung (,,normal klicken‘); }) bt.addEventListener('klicken',Funktion(){ Warnung (,,Klick bt'); }) </Skript> </body> </html> siehe
Damit ist dieser Artikel über 7 interessante Möglichkeiten zur Implementierung versteckter Elemente in CSS abgeschlossen. Weitere relevante Inhalte zu versteckten CSS-Elementen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! |
<<: Beheben Sie den Nginx-Fehler „504 Gateway Time-out“
>>: Mehrere Möglichkeiten zum Löschen von Arrays in Vue (Zusammenfassung)
Die Suchleistung von der schnellsten bis zur lang...
Softwareversion Windows: Windows 10 MySQL: mysql-...
Wenn man online nach Methoden sucht, um Angular -...
1. Chinesische Eingabemethode einrichten 2. Stell...
In diesem Artikelbeispiel wird der spezifische Co...
Der größte Teil dieses Artikels bezieht sich auf ...
"/" ist das Stammverzeichnis und "...
MySQL unterstützt viele Datentypen und die Auswah...
Inhaltsverzeichnis Lassen Sie uns zunächst kurz P...
Vorwort Der This-Zeiger in JS hat Anfängern schon...
Ergebnis:Implementierungscode html <div Klasse...
Zusammenfassung Docker-Compose kann problemlos me...
Vorwort In vielen Fällen werden wir virtuelle Mas...
Im Linux-System gibt es neben den verschiedenen, ...
Implementierungsanforderungen Das ElementUI imiti...