English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'attributo Visibility specifica se un elemento è visibile o nascosto.
Puoi utilizzare l'attributo visibility per specificare se un elemento è visibile. Questo attributo può accettare uno dei seguenti valori elencati nella tabella sottostante:
Valore | Descrizione |
---|---|
visible | Valore predefinito. Questa casella e il suo contenuto sono visibili. |
hidden | Questa casella e il suo contenuto non sono visibili, ma influenzano la disposizione della pagina. |
collapse | Questo valore elimina interamente la riga o la colonna dalla visualizzazione. Questo valore viene utilizzato per gli elementi riga, gruppo di righe, colonna e gruppo di colonne. |
inherit | Il valore dell'attributo di visibilità dovrebbe essere ereditato dal genitore, ossia adottare lo stesso valore di visibilità del genitore. |
visibility: collapse; tuttavia, le regole di stile rimuoveranno gli elementi interni della tabella, ma non influenzeranno in alcun modo la disposizione della tabella. Lo spazio occupato dagli elementi tabella di solito sarà riempito dal successivo同级.
Attenzione:Se visibility: collapse; è stato specificato per altri elementi (non per gli elementi tabella), il comportamento è lo stesso di hidden.
CSS display e l'attributo visibility sembrano la stessa cosa, ma in realtà sono completamente diversi e spesso creano confusione per i nuovi sviluppatori web.
visibility: hidden; nasconde l'elemento, ma occupa ancora lo spazio nella disposizione. Se la visibilità dei figli della casella nascosta è impostata su "visibile", saranno visibili.
display: none; chiude la visualizzazione e rimuove completamente l'elemento dal documento. Anche se il suo HTML è ancora nel codice sorgente, non occupa alcun spazio. Anche se tutti gli attributi di visualizzazione dei figli sono impostati su none, chiuderà la visualizzazione.
L'attributo Visibility ha quattro valori disponibili (visible, hidden, collapse e inherit), ma i valori più comuni sono visible e hidden.
visibility: visible /* l'elemento è visibile, valore predefinito */ visibility: hidden /* l'elemento non è visibile, ma mantiene lo spazio corrispondente. */ visibility: collapse /* solo per l'oggetto table ha effetto, può rimuovere righe o colonne senza influenzare la disposizione della tabella. Se questo valore viene utilizzato su oggetti diversi da table si comporta come hidden . */ visibility: inherit /* Eredita il valore di visibility dell'elemento superiore. */
Ci sono molti valori disponibili per la proprietà Display, ma qui ci concentriamo solo su alcuni di essi: block, none e inline
display: none /* L'elemento è invisibile e non viene riservato uno spazio corrispondente */ display: block /* Si comporta come un elemento di livello verticale (normalmente occupa una riga intera) */ display: inline /* Si comporta come un elemento di livello orizzontale (normalmente non occupa una riga intera) */
Da ciò emerge che, sebbene le proprietà Visibility e Display possano entrambe nascondere un elemento, la differenza tra loro sta nel fatto che visibility: hidden nasconde un elemento mantenendo allo stesso tempo lo spazio necessario per quell'elemento nella pagina, mentre display: none si comporta come se l'elemento fosse stato rimosso dalla pagina, rendendo invisibile l'esistenza dell'elemento.
Inoltre, la differenza tra display: block e display: inline sta nel fatto che gli elementi block occupano una riga intera nella pagina, mentre gli elementi inline non lo fanno. Alcuni oggetti sono predefiniti come elementi block, mentre altri come elementi inline. E' importante prestare attenzione a evitare la duplicazione di definizioni di proprietà identiche durante l'uso.
Le proprietà Visibility e Display possono entrambe nascondere un elemento della pagina, ma la differenza tra loro sta nel modo in cui rispondono al flusso normale del documento.
Se vuoi nascondere un elemento ma mantenere lo spazio dell'elemento nella pagina, dovresti usare visibility: hidden. Se vuoi nascondere un elemento e far riempire lo spazio con altri contenuti, dovresti usare display: none.