di: Alessandro Fulciniti 21 Ottobre 2008
Siamo ora arrivati alla parte principale del nostro menu accordion in stile Apple, ovvero il CSS.
Il principio che sta alla base dell'esempio è semplice: si tratta di stabilire un'altezza fissa per i link del menu pari a 25px (ovvero l'altezza
di ciascun elemento strong) per poi ripristinare la loro altezza naturale in fase :hover. Ecco il CSS per intero:
ul#accordion, ul#accordion li{margin: 0;padding: 0;list-style: none}
ul#accordion{width: 175px;border: 1px solid #9A9A9A;font-size: 12px}
ul#accordion a{display: block;height: 25px;overflow: hidden;
padding-left: 10px;text-decoration: none;color: #333}
ul#accordion strong{display: block;height: 25px;line-height: 25px;
margin-left: -10px;padding-left: 10px;color: #FFF;
background: #7E7E7E url(bk.png) repeat-x top}
ul#accordion a:hover{height: auto;overflow: auto}
ul#accordion a:hover strong{background:url(bk.png) repeat-x bottom}
Vediamo brevemente il CSS del menu e i suoi tratti essenziali. Dopo aver eliminato margini, padding e marcatore da lista e list-item, si è assegnata una larghezza pari a 175 pixel e un bordo fine attorno al menu. I link vengono resi block-level, con altezza pari a 25 px e overflow impostato su hidden. Ciò fa si che dei link in stato normale venga mostrato solo l'elemento strong, anch'esso alto 25px. Quest'ultimo ha anche un line-height impostato, così da consentire la centratura verticale del testo.
Vale la pena soffermarsi un attimo sull'utilizzo del padding sui link e sugli
elementi strong. Per i link viene specificato un padding sinistro di 10px, che
vorremo poter recuperare sugli strong così da poter coprire tutta la
larghezza del menu. Ci vengono in soccorso i margini negativi, o per l'esattezza
i margini espandibili:
attribuendo un margine sinistro negativo di 10px sugli strong, siamo infatti
in grado di espanderli, per poi ripristinare lo spazio bianco attraverso un padding
sinistro di pari valore.
Con la penulitima regola, in fase :hover i link assumono la loro altezza naturale,
così da mostrare il rimanente testo che non rientra negli strong.
Nella fase :hover dei link, infine, viene ripetuta orizzontalmente per gli elementi strong
la porzione inferiore dell'immagine di sfondo anzichè quella superiore che viene
mostrata a riposo, dando così un bell'effetto rollover.
Queste in breve le fasi di sviluppo del CSS, che si presenta semplice e leggero: sono bastate infatti appena sei regole. Buono il supporto cross-browser dell'esempio: è stato testato con successo su Internet Explorer dalla versione 5.5 alla 8, oltre che sulle ultime versioni di Firefox, Safari, Opera e Google Chrome. Codice e immagini sono disponibili per il download. Alla prossima.
Responsive Desing, la guidaProgettare siti da fruire su dispositivi diversi è imprescindibile... |
Guida CSS3Scoprire e usare al meglio tutte le novità dell'ultima versione dei... |
Guida CSS Tecniche essenzialiTesto, immagini, layout, form, liste, tabelle: soluzioni pronte per... |
Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |