Het tegenovergestelde van visibility: hidden
is visibility: visible
. Evenzo, is er een tegenovergestelde voor display: none
?
Veel mensen raken in de war als ze bedenken hoe ze een element moeten tonen als het display: none
heeft, omdat het niet zo duidelijk is als het gebruik van de eigenschap visibility
.
Ik zou gewoon visibility: hidden
kunnen gebruiken in plaats van display: none
, maar het geeft niet hetzelfde effect, dus ik ga er niet mee akkoord.
Antwoord 1, autoriteit 100%
display: none
heeft geen letterlijke tegenpool zoals visibility:hidden
heeft.
De eigenschap visibility
bepaalt of een element zichtbaar is of niet. Het heeft daarom twee statussen (visible
en hidden
), die tegengesteld zijn aan elkaar.
De eigenschap display
bepaalt echter welke lay-outregels een element zal volgen. Er zijn verschillende soorten regels voor hoe elementen zichzelf in CSS zullen opmaken, dus er zijn verschillende waarden (block
, inline
, inline-block
etc — zie de documentatie voor deze waarden hier).
display:none
verwijdert een element volledig uit de paginalay-out, alsof het er niet was.
Alle andere waarden voor display
zorgen ervoor dat het element deel uitmaakt van de pagina, dus in zekere zin zijn ze allemaaltegengesteld aan display:none
.
Maar er is niet één waarde die het directe omgekeerde is van display:none
– net zoals er geen enkele haarstijl is die het tegenovergestelde is van “kaal”.
Antwoord 2, autoriteit 48%
Het tegenovergestelde van display: none
is er (nog) niet.
Maar display: unset
is heel dichtbij en werkt in de meeste gevallen.
Van MDN(Mozilla Developer Network):
Het unset CSS-sleutelwoord is de combinatie van de initial- en inherit-sleutelwoorden. Net als deze twee andere CSS-brede trefwoorden, kan het worden toegepast op elke CSS-eigenschap, inclusief de CSS-steno allemaal. Met dit sleutelwoord wordt de eigenschap teruggezet naar de geërfde waarde als deze van de bovenliggende waarde erft, of naar de oorspronkelijke waarde als dat niet het geval is. Met andere woorden, het gedraagt zich als het inherit-sleutelwoord in het eerste geval en als het initiële sleutelwoord in het tweede geval.
(bron: https://developer.mozilla.org/docs/ Web/CSS/uitschakelen)
Houd er rekening mee dat display: revert
momenteel wordt ontwikkeld. Zie MDNvoor details.
Antwoord 3, autoriteit 18%
Bij het wijzigen van de display
van het element in Javascript, is in veel gevallen een geschikte optie om het resultaat van element.style.display = "none"
ongedaan te maken element.style.display = ""
. Dit verwijdert de display
declaratie van het style
attribuut, waarbij de werkelijke waarde van de display
eigenschap wordt teruggezet naar de waarde die is ingesteld in de stylesheet voor het document (om de browserstandaard indien niet elders opnieuw gedefinieerd). Maar de betrouwbaardere benadering is om een klasse in CSS te hebben zoals
.invisible { display: none; }
en het toevoegen/verwijderen van deze klassenaam aan/van element.className
.
Antwoord 4, autoriteit 2%
u kunt
. gebruiken
display: normal;
Het werkt als normaal…. Het is een kleine hack in css 😉
Antwoord 5, autoriteit 2%
Ik gebruik
display:block;
Het werkt voor mij
Antwoord 6, autoriteit 2%
Zoals Paul uitlegt is er geen letterlijk tegenovergestelde van weergave: geen in HTML, aangezien elk element een andere standaardweergave heeft en je de weergave ook kunt wijzigen met een klasse- of inline-stijl enz.
Als u echter iets als jQuery gebruikt, gedragen hun functies voor tonen en verbergen zich alsof er een tegenovergestelde is van geen weergave. Wanneer u een element verbergt en vervolgens opnieuw toont, wordt het op precies dezelfde manier weergegeven als voordat het werd verborgen. Ze doen dit door de oude waarde van de eigenschap display op te slaan bij het verbergen van het element, zodat wanneer u het opnieuw laat zien, het op dezelfde manier wordt weergegeven als voordat u het verborg.
https://github.com/jquery/jquery/blob/740e1902531458127114deded73 /src/css.js#L180
Dit betekent dat als u een div instelt om bijvoorbeeld inline of inline-block weer te geven en u deze verbergt en vervolgens weer toont, deze weer wordt weergegeven als display inline of inline-block, net zoals voorheen
p>
<div style="display:inline" >hello</div>
<div style="display:inline-block">hello2</div>
<div style="display:table-cell" >hello3</div>
script:
$('a').click(function(){
$('div').toggle();
});
Merk op dat de display-eigenschap van de div constant blijft, zelfs nadat deze was verborgen (display:none) en opnieuw werd weergegeven.
Antwoord 7
In het geval van een printervriendelijke stylesheet gebruik ik het volgende:
/* screen style */
.print_only { display: none; }
/* print stylesheet */
div.print_only { display: block; }
span.print_only { display: inline; }
.no_print { display: none; }
Ik gebruikte dit wanneer ik een formulier met waarden moest afdrukken en de invoervelden moeilijk af te drukken waren. Dus ik heb de waarden toegevoegd die zijn verpakt in een span.print_only tag (div.print_only werd elders gebruikt) en vervolgens de .no_print klasse toegepast op de invoervelden. Dus op het scherm ziet u de invoervelden en wanneer afgedrukt, alleen de waarden. Als je zin had, zou je JS kunnen gebruiken om de waarden in de span-tags bij te werken wanneer de velden werden bijgewerkt, maar dat was in mijn geval niet nodig. Misschien niet de meest elegante oplossing, maar het werkte voor mij!
Antwoord 8
Ik kwam deze uitdaging tegen bij het bouwen van een app waarbij ik een tabel wilde verbergen voor bepaalde gebruikers, maar niet voor anderen.
Aanvankelijk stelde ik het in als display:none maar daarna display:inline-block voor die gebruikers die ik het wilde zien, maar ik ondervond de opmaakproblemen die je zou verwachten (kolommen consolideren of over het algemeen rommelig).
De manier waarop ik er omheen werkte, was om eerst de tabel te tonen en dan “display:none” te doen voor die gebruikers die ik niet wilde zien. Op deze manier werd het normaal geformatteerd, maar verdween het toen als dat nodig was.
Een beetje een laterale oplossing, maar kan iemand helpen!
Antwoord 9
U kunt display: block gebruiken
Voorbeeld:
<!DOCTYPE html>
<html>
<body>
<p id="demo">Lorem Ipsum</p>
<button type="button"
onclick="document.getElementById('demo').style.display='none'">Click Me!</button>
<button type="button"
onclick="document.getElementById('demo').style.display='block'">Click Me!</button>
</body>
</html>
Antwoord 10
het tegenovergestelde van ‘none’ is ‘flex’ tijdens het werken met react native.
Antwoord 11
visibility:hidden zal het element verbergen, maar het element is hun met DOM. En in het geval van display:none wordt het element uit de DOM verwijderd.
Dus je hebt de mogelijkheid om elementen te verbergen of zichtbaar te maken. Maar als je het eenmaal verwijdert (ik bedoel geen weergave) heeft het geen duidelijke tegengestelde waarde. display hebben verschillende waarden, zoals display:block,display:inline, display:inline-block en vele andere. je kunt het bekijken via W3C.
Antwoord 12
display:unset zet het terug naar een initiële instelling, niet naar de vorige “display”-waarden
ik heb zojuist de vorige weergavewaarde gekopieerd (in mijn geval display: flex;)
opnieuw (na weergave niet), en het heeft de weergave overtroffen: geen succesvol
(ik gebruikte display:none om elementen voor mobiele en kleine schermen te verbergen)
Antwoord 13
Het beste antwoord voor display: none
is
display:inline
of
display:normal
Antwoord 14
Het beste “tegenovergestelde” zou zijn om het terug te zetten naar de standaardwaarde, namelijk:
display: inline
Antwoord 15
Je kunt deze display:block;
gebruiken en ook overflow:hidden;
toevoegen