Due proprietà: display e visibility. Analizziamo similitudini e differenze.
Sabato, Marzo 22nd, 2008Chi si sarà già avvicinato al fantastico mondo dei CSS, spero anche grazie a questo sito, avrà sicuramente sperimentato queste due proprietà: display e visibility. Avrete sicuramente notato che sono simili come proprietà, ma hanno delle differenze sostanziali: andiamo ad analizzare queste proprietà più da vicino.
Per quanto riguarda la proprietà display, questa specifica il modo di visualizzazione di un elemento: il valore può essere none, block, inline e list-item. Ce ne sarebbero anche altri, ma vista la scarsa implementazione non se ne consiglia troppo l’uso. Il valore none indica che l’elemento non è visibile, il valore block indica che l’elemento sarà visibile come blocco distaccato, quale può essere ad esempio un elemento DIV; il valore inline indica che l’elemento deve assumere un comportamento da blocco in linea quale può essere quello dell’elemento SPAN; list-item indica che l’elemento si comporta come un punto di un elenco.
Per quanto riguarda invece la proprità visibility, essa, come display, imposta la visibilità di un elemento e supporta i valori: hidden(nascosto) e visible(visibile), tuttavia il comportamento è assai diverso da quello di DISPLAY. Un elemento impostato come non visibile attraverso display:none infatti non solo non è visibile, ma lo spazio che avrebbe occupato nella pagina viene rimpiazzato dagli altri elementi, se invece impostiamo visibility:hidden lo spazio cheoccuperebbe l’elemento risulta vuoto, ma viene preservato. Notiamo quindi che entrambe le proprietà possono impostare la visibilità di un elemento, ma la differenza è molto evidente.
Prossimamente analizzeremo la proprietà POSITION e alcune sue caratteristiche. Buona lettura e venite a trovarmi spesso!
Spesso vi sarà capitato di avere due o più regole che, anche con selettori diversi, si riferiscono allo stesso oggetto. In questo caso le due o più regole si applicano contemporaneamente, a cosa accade se alcune dichiarazioni sono in conflitto tra loro? In questo caso entrano in gioco alcune norme definite dal w3c che ci permettono di calcolare la priorità di tali regole. Qui entra in gioco la specificità: maggiore è la specificità, maggiore sarà la priorità assunta da tale regola. La specificità di un selettore si basa su un numero di tre cifre ABC determinate in questo modo:
Detto questo, in ogni mio sito o applicazione, cerco sempre di rendere il tutto compatibile con gli ultimi standard. Questo perché? Perché penso bisogna cercare una compatibilità verso il futuro e non tanto verso il passato. Certo, non possiamo limitare l’accesso ai nostri siti da parte di chi non ha un browser all’ultimo grido, ma non possiamo nemmeno creare un handicap per chi può usufruire appieno delle nuove tecnologie. Guardare all’indietro può essere utile, ma se questo significa creare hack che in un futuro potrebbero dare problemi, o aggirare il problema con codice non valido e che quindi prossimamente dovrà essere rivisto, allora non sono più d’accordo ad avere un sito compatibile anche all’indietro. Penso piuttosto, ed è quello che faccio io, che bisogna limitare al minimo le incompatibilità attraverso fogli stile molto snelli, e, dove non è possibile e dove vogliamo un sito più elaborato in termini di grafica, semplicemente limitare l’accesso al foglio stile predefinito da parte dei browsers più datati offrendo pertanto una buona visualizzazione o quantomeno accettabile del sito senza però pregiudicare i browsers attuali.

















