Ich möchte ein verstecktes Kontrollkästchen haben, das keinen Platz auf dem Bildschirm einnimmt.
Wenn ich das habe:
<div id="divCheckbox" style="visibility: hidden">
Ich sehe das Kontrollkästchen nicht, aber es wird immer noch eine neue Zeile erstellt.
Wenn ich das habe:
<div id="divCheckbox" style="visibility: hidden; display:inline;">
Es wird keine neue Linie mehr erstellt, aber es nimmt horizontalen Platz auf dem Bildschirm ein.
Gibt es eine Möglichkeit, ein verstecktes Div zu haben, das keinen Platz einnimmt (vertikal oder horizontal?
Antworten:
Verwenden
display:none;
visibility: hidden
verbirgt das Element, nimmt aber dennoch Platz im Layout ein.display: none
Entfernt das Element vollständig aus dem Dokument, es nimmt keinen Platz ein.quelle
<div id="divCheckbox" style="display: inline-block;">
inline-block
? Der Standardwertdisplay
für ein div istblock
!display: none
indisplay: inline-block
oder ein Äquivalent zu ändern, ohne dass das jetzt angezeigte Div Platz beansprucht und meine anderen DOM-Elemente verschiebt?display: none
obwohl direkt aus HTML. Jede Verwendung derdisplay
Eigenschaft überschreibt jedoch das Verhalten deshidden
globalen Attributs.Seit der Veröffentlichung von HTML5 kann man jetzt einfach Folgendes tun:
Hinweis: Dies wird von einigen alten Browsern nicht unterstützt , insbesondere IE <11.
Versteckte Attributdokumentation ( MDN , W3C )
quelle
Verwenden Sie
style="display: none;"
. Außerdem benötigen Sie wahrscheinlich keinen DIVdisplay: none
. Es reicht wahrscheinlich aus , nur den Stil auf das Kontrollkästchen zu setzen.quelle
visibility: hidden
aber das zeigte leeren Raum.style="display: none;"
arbeitete wie ein kleiner Zauber :)Zusätzlich zur Antwort von CMS können Sie den Stil in ein externes Stylesheet einfügen und den Stil der ID wie folgt zuweisen:
quelle
Da Sie sich auf Benutzerfreundlichkeit und Allgemeingültigkeit in CSS konzentrieren sollten, anstatt eine ID zu verwenden, um auf ein bestimmtes Layoutelement zu verweisen (was zu großen oder mehreren CSS-Dateien führt), sollten Sie wahrscheinlich stattdessen eine echte Klasse in Ihrer verknüpften CSS-Datei verwenden:
oder für den Minimalisten:
Jetzt können Sie es einfach anwenden über:
quelle
Ziehen Sie
<span>
in Betracht , kleine Segmente von Markups zu isolieren, die gestaltet werden sollen, ohne das Layout zu unterbrechen. Dies scheint idiomatischer zu sein, als zu versuchen, a zu zwingen, sich<div>
nicht selbst anzuzeigen - wenn das Kontrollkästchen selbst nicht so gestaltet werden kann, wie Sie es möchten.quelle
Ein- / Ausblenden per Mausklick:
Quelle: Hier
quelle
Verwenden Sie, um zu verhindern, dass das Kontrollkästchen Speicherplatz belegt, ohne es aus dem DOM zu entfernen
hidden
.Das Kontrollkästchen aus der Aufnahme jeden Raumes zu verhindern , und auch sie aus dem DOM, Gebrauch zu entfernen
display: none
.quelle
Um das Element visuell auszublenden , aber im HTML-Code zu belassen, können Sie Folgendes verwenden:
oder
Womit kann etwas schief gehen
display:none
? Das Element wird vollständig aus dem HTML-Code entfernt, sodass einige Funktionen möglicherweise nicht mehr funktionieren, wenn sie auf etwas im versteckten Element zugreifen müssen.quelle
Dadurch sollte das Element verschwinden und keinen Platz beanspruchen.
quelle