Fogli stile - Posizionamento Assoluto

I documenti HTML sono posizionati all'interno della pagina attraverso uno schema di flusso dei dati. Questo significa che si parte dal margine alto a sinistra del documento e ogni elemento si posiziona in base al precedente, senza possibilita' di sovrapporre oggetti. Le specifiche dei CSS-P consentono, invece, tre diversi tipi di posizionamento:

  • statico: si tratta del posizionamento predefinito dal browser, cioe' quello tradizionale di HTML, per cui ogni elemento e' posizionato in base al flusso di dati del documento;

  • assoluto: questo tipo di posizionamento consente di astrarre il CSS dal flusso dei dati, consentendo di posizionarlo in qualsiasi punto della pagina, in modo assolutamente indipendente dagli altri elementi, che anzi possono venire sovrapposti o sottoposti.

  • relativo: tale posizionamento non esce dal flusso di dati, ne' produce alcuna modifica rispetto agli elementi posizionati in modo statico. Assume caratteristiche proprie del posizionamento dinamico quando vengono impostate le proprieta' left e right, che spostano l'elemento a sinistra e in alto di quello che lo precede.

    Ecco un esempio di posizionamento assoluto con uso delle proprieta' top e left:

    <DIV STYLE="position:absolute; top:100px; left:100px">
    <IMG SRC="elemento01.gif" border=0>
    </DIV>


    Le misure sono espresse in pixel (px), ma possono essere sostituite con altri valori: punti (pt), centimentri (cm), pollici (in) ecc. Tutte fanno riferimento al margine superiore sinistro.
    L'esempio considerato crea un foglio di stile con posizionamento assoluto (position:absolute) distanziato dal margine superiore e sinistro di 100 pixel.

    Per comprendere la differenza pratica tra posizionamento assoluto (visto in precedenza) e relativo, procediamo con un altro esempio. Si tratta di un semplice testo privo di qualsiasi formattazione, che il documento interpreta come flusso di elementi. All'interno di questo testo impostiamo un foglio di stile con posizionamento relativo per le parole "sito italiano", con una distanza dall'elemento piu' vicino alla sinistra e in alto di 10 pixel:

    Questo e' il <SPAN STYLE="position:relative; top:10px; left:10px"><B>sito italiano></B></SPAN> piu' visitato e autorevole sul Web publishing.
    L'effetto è il seguente:

    Questo e' il sito italiano piu' visitato e autorevole sul Web publishing.

    Altri parametri impostabili sono width e height che stabiliscono rispettivamente la larghezza per orizzontale e l'altezza per verticale del foglio di stile. Anche in questo caso possono usarsi indifferentemente le misure consentite dai fogli di stile:

    <DIV STYLE="position:absolute; top:100px; left:100px; width:150px; height:150px">
    il sito italiano piu' visitato e autorevole sul Web publishing.
    </DIV>


    Il testo viene racchiuso in un foglio di stile di dimensioni pari a 150px di altezza e altrettanti di larghezza. La distanza dal margine superiore sinistro e' quella espressa in precedenza.
    L'effetto è il seguente:

    sito italiano piu' visitato e autorevole sul Web publishing. Decine di tutorial, centinaia di Javascript, di applet Java, consigli utili per la programmazione.



    La proprieta' visibility determina la visibilita' di un elemento. Puo' essere impostato su hidden o visible

    <DIV STYLE="position:absolute; top:100px; left:100px; width:150px; height:150px; visibility:hidden">
    <IMG SRC="elemento01.gif" border=0>
    </DIV>


    hidden rende invisibili gli elementi, mentre visibile li rende visibili:

    <DIV STYLE="position:absolute; top:100px; left:150px; width:200px; height:150px; visibility:visible">
    <IMG SRC="elemento02.gif" border=0>
    </DIV>



    Si e' detto in apertura che i CSS-P permettono di sovrapporre immagini, testo ed elementi gli uni agli altri. La gerarchia con la quale tali elementi vengono sovrapposti dipende, quando non stabilito diversamente, dalla posizione nel codice HTML. Un elemento posizionato dopo un altro sara' sovrapposto a questo. Come nell'esempio che segue:

    <DIV STYLE="position:absolute; top:30px; left:100px; width:200px; height:200px; visibility:visible">
    <IMG SRC="elemento01.gif" border=0>
    </DIV>


    <DIV STYLE="position:absolute; top:150px; left:150px; width:200px; height:200px; visibility:visible">
    <IMG SRC="elemento02.gif" border=0>
    </DIV>

    Con quanto appena detto, è' possibile modificare l'impostazione di default per cui un elemento scritto successivamente nel codice e' sovrapposto agli elementi precedenti, attraverso la proprieta' z-index. Questa proprieta' definisce l'ordine grafico degli elementi attraverso valori numerici. L'elemento principale va impostato come valore positivo "1", mentre gli altri in posizione sottostante con valore negativo "-1". Riprendendo l'esempio precedente e lasciando inalterato l'ordine gerarchico, e' possibile che il secondo elemento si sovrapponga al primo grazie alla proprieta' z-index:

    <DIV STYLE="position:absolute; top:30px; left:100px; width:200px; height:200px; visibility:visible z-index:1">
    <IMG SRC="elemento01.gif" border=0>
    </DIV>


    <DIV STYLE="position:absolute; top:150px; left:150px; width:200px; height:200px; visibility:visible z-index:2">
    <IMG SRC="elemento02.gif" border=0>
    </DIV>

    L'effetto creato è il seguente:


    La proprieta' overflow permette di gestire, attraverso l'uso di scroller, i contenuti degli elementi che eccedono l'area impostata con height e width. Perche' cio' accada e' necessario che la proprieta' overflow sia impostata su "scroll" e non su "hidden". In questo secondo caso, infatti, gli elementi vengono visualizzati limitatamente alla grandezza dell'area di ritaglio ma senza lo scroller laterale:

    <DIV STYLE="position:absolute; overflow:scroll; float:left; top:10px; left:10px; width:150px; height:100px">
    Questo è il sito italiano piu' visitato e autorevole sul Web publishing. Decine di tutorial, centinaia di Javascript, di applet Java, e di consigli per la programmazione .
    </DIV>


    <DIV STYLE="position:absolute; overflow:hidden; top:150px; left:10px; width:150px; height:100px">
    Questo e' il sito italiano piu' visitato e autorevole sul Web publishing. Decine di tutorial, centinaia di Javascript, di applet Java, consigli per la programmazione.
    </DIV>


    Questo è il risultato dei due esempi:

    Questo e' il sito italiano piu' visitato e autorevole sul Web publishing. Decine di tutorial, centinaia di Javascript, di applet Java, di consigli per la programmazione.
    Questo e' il sito italiano piu' visitato e autorevole sul Web publishing. Decine di tutorial, centinaia di Javascript, di applet Java, di consigli per la programmazione.


    Tutti gli elementi supportano il posizionamento statico e relativo, ma solo alcuni quello assoluto. Ecco quali:

  • Applet
  • Button
  • Div
  • Fieldset
  • IFrame
  • IMG
  • Input
  • Object
  • Select
  • Span
  • Table
  • Textarea



  • Sfruttando quanto visto finora per il posizionamento dinamico, possiamo ora esporre un utilizzo pratico di tale tecnologia. Creare titoli con effetto ombreggiato e' possibile in HTML classico esclusivamente con il ricorso a immagini (create con appositi programmi di Webgrafica o fotoritocco). Nulla da eccepire su tale scelta, ma e' ovvio che la presenza di immagini appesantisce la pagina in termini di Kb. Con i CSS-P e' possibile ottenere lo stesso risultato senza usare immagini ma semplice testo. Non si tratta di una procedura molto complessa che anzi per molti versi appare banale. Si crea un testo assegnando uno stile, una grandezza e una certa posizione assoluta nella pagina:

    <DIV STYLE="position:absolute; font-size:100px; font-family:impact; top:10px; left:10px; color:black; z-index:1">
    Zinasoft®
    </DIV>


    Per il testo si e' usato il font impact di grandezza pari a 100 pixel e colore nero, distanziato dal margine sinistro e superiore di 10 pixel. La proprieta' z-index e' impostata sul valore positivo 1. Fin qui nulla di particolare, visto che si tratta di un testo nero senza ombreggiatura. Per inserire l'ombra si deve aggiungere questo codice:

    <DIV STYLE="position:absolute; font-size:100px; font-family:impact; top:15px; left:15px; color:gray; z-index:-1">
    Zinasoft®
    </DIV>


    Il testo rimane di uguale grandezza e stile ma cambia il colore (dal black precedente al gray attuale). La distanza dello stile dal margine superiore e sinistro aumenta rispettivamente di 5 pixel e la proprieta' z-index e' impostata sul valore negativo -1. Tutto questo crea il primo testo sovrapposto al secondo, che essendo distanziato di 5 pixel ma di uguale dimensione crea un effetto ombreggiato:
    Zinasoft®
    Zinasoft®



  •  
       Indietro
       Home Page


    Scrivi una E-mail
    Pagina completamente relizzata dalla Zinasoft Se sei interessato alla relizzazione
    di una pagina web per la tua azienda, contattaci cliccando sul logo.