Salta al contenuto
  • Delicious
  • Twitter
  • Anobii
  • Facebook
Ricerca rapida
Cerca articoli per:
tag | autore

Come posizionare gli elementi in una pagina html con i css

makepos before 11 300x255 Come posizionare gli elementi in una pagina html con i cssLa proprietà position per gli elementi html è stata introdotta nella versione 2 dei CSS dal w3c, il loro utilizzo è molto semplice e spesso vengono utilizzati impropriamente da utenti poco esperti per la realizzazione del layout.

Come vedremo in questo tutorial il posizionamento dei vari elementi richiede qualche competenza per non compromette la compatibilità del layout nei vari browser.

La proprietà position

La proprietà position ammette quattro valori: static, relative, absolute e fixed. Esistono grandi differenze tra questi quattro valori che occorre capire per utilizzarli al meglio.

Posizionamento statico

Il valore static è attribuito di default ad ogni elemento ed ignora qualunque tipo di offset attribuito all’elemento come top, left, bottom e right. Questo tipo di posizionamento non altera la posizione dell’elemento e viene implicitamente attribuito ad ogni elemento della pagina com’è possibile vedere in questo esempio.

Posizionamento relativo

Il valore relative altera il posizionamento di un elemento tramite un offset impostato con le proprietà top, left, bottom e right. Gli altri elementi della pagina non mutano il proprio posizionamento in quanto il posizionamento relativo non estrae dal flusso l’elemento ma lo colloca su un livello superiore.

In questo esempio possiamo notare come il posizionamento relativo collochi l’elemento sopra un elemento con posizionamento statico. Per gestire la sovrapposizione degli elementi è possibile utilizzare z-index con un valore inferiore a 0 (avendo gli elementi della pagina z-index con valore 0 di default) come in questo esempio.

Posizionamento assoluto

Il valore absolute posiziona un elemento in relazione all’elemento html o all’elemento genitore che ha un posizionamento diverso da statico. Bisogna ricordare che a differenza del posizionamento raltivo quello assoluto colloca l’elemento al di fuori del tradizionale flusso della pagina influenzando quindi il layout.

In questo esempio vediamo come due elementi con posizionamento assoluto si comportino in maniera diversa a causa del riferimento per la posizione.

Il primo div infatti calcola l’offset partendo dall’elemento genitore (con id relativo) mentre il secondo non avendo un elemento genitore con posizionamento diverso da statico prende come riferimento l’elemento html.

Occorre ricordare che Internet Explorer 6 e versioni precedenti presentano numerosi bug sul posizionamento assoluto. Una buona soluzione per risolvere queste problematiche è quello di settare un’altezza dell’elemento contenitore a 0 solo per Internet Explorer 6 e precedenti.

<!--[if lte IE 6]>
div{height:0;}
<![endif]-->

Posizionamento fisso

Il valore fixed estrae un elemento dal flusso e lo posiziona in base all’offset (specificato con top, left, bottom e right) in relazione all’elemento html.

Il posizionamento fisso può sembrare simile al posizionamento assoluto, ma non rispetta la regola del genitore con posizionamento diverso da statico, infatti utilizza sempre come riferimento l’elemento html, utilizzando il precedente esempio con questo tipo di posizionamento notiamo che i due div si sovrappongo in cima alla pagina.

Un’altra differenza rispetto al posizionamento assoluto è che ignora lo scroll nelle pagine con contenuto più alto dell’area visibile nel browser e mantiene la posizione definita in relazione alla finestra del browser.

In questo esempio vediamo come si comporta un elemento con posizionamento assoluto ed uno con posizionamento fisso in una pagina con molto contenuto.

Occorre inoltre ricordare che il valore fixed per la proprietà position non è supprtato da Internet Explorer 6 e versioni precedenti.

Articolo by Howtoweb.it

Post correlati

7 Commenti

  1. Elena (33 comments) 14 maggio 2009 alle 10:56

    Mooolto utile per me, grazie!

  2. Francesco Caruccio (93 comments) 14 maggio 2009 alle 12:38

    Concordo, utile, grazie.

  3. Lauryn (3023 comments) 14 maggio 2009 alle 17:14

    utile come sempre :)
    ricordiamo poi il float in un altro articolo? quello merita un discorso a parte :D

  4. andrea (136 comments) 14 maggio 2009 alle 18:18

    Grazie per il tip x internet explorer 6 (questo maledetto :D )

  5. Mauro Accornero (249 comments) 14 maggio 2009 alle 18:26

    Prego purtroppo per quasi tutto ciò che è css IE6 da problemi di bug o ha modalità di rendering peculiari (tipo il box model) e bisognerà convivere ancora per un po’ con i commenti condizionali.

    @Lauryn Per il float avevo scritto tempo fa due tutorial con esempi, uno su come gestire il float con clear:left e un altro su come gestire il float con overflow:hidden.

  6. Lauryn (3023 comments) 14 maggio 2009 alle 18:39

    a posto, sei una guida vivente :D

Trackback

  1. Posizionare elementi con css - Caputo’s blog - Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy 14 maggio 2009 alle 18:12

    [...] http://www.italianwebdesign.it/come-posizionare-gli-elementi-in-una-pagina-html-con-i-css/ [...]

Lascia un commento

corsi joomla

Iwd Award - Il sito del meseSimone Maranzana

Vuoi occupare questo spazio gratuitamente per un mese? Partecipa all'Iwd Award!