layout e css - ITIS Euganeo
Transcript
layout e css - ITIS Euganeo
Autore: Nicola Ceccon Classe: QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo LAYOUT E CSS Dispensa Obiettivo di questo documento non è quello di affrontare la tematica, assai vasta, della progettazione dell’interfaccia e più in generale del sito in base ai paradigmi dell’usabilità e della accessibiltà, ma introdurre alla realizzazione di interfacce con l’utilizzo della tecnologia CSS di livello 2 in sostituzione della tecnica, sino ad ora utilizzata ma che è destinata al disuso, delle tabelle… Quindi dalle tabelle utilizzate nella realizzazione dell’interfaccia per il semplice motivo che permettono la suddivisione della pagina in aree, cioè il posizionamento dei diversi elementi costitutivi di una pagina web, all'uso dei CSS. Layout e CSS 2 Premessa Una pagina web e quindi un sito e internet nel suo complesso riescono a fornire le informazioni, cioè a soddisfare l’esigenza primaria di un utente web che è una esigenza di ricerca/assunzione di informazione (o contenuto), se l’interfaccia aiuta il recupero delle informazioni. L’interfaccia, quindi, assume in un documento online, come una pagina web, una funzione fondamentale: può essere l’elemento che aiuta il recupero del contenuto o quello che lo ostacola, nascondendolo. Diventa quindi vincolante la progettazione dell’interfaccia in termini di usabilità1 e accessibilità2 , ricordando che una di questa caratetteristica non implica l’altra e che non sono mutuamente esclusive. Obiettivo di questo documento non è quello di affrontare la tematica, assai vasta, della progettazione dell’interfaccia e più in generale del sito in base ai paradigmi dell’usabilità e della accessibiltà, ma introdurre alla realizzazione di interfacce con l’utilizzo della tecnologia CSS di livello 2 in sostituzione della tecnica, sino ad ora utilizzata ma che è destinata al disuso, delle tabelle. Nel dibattito in corso nelle webZine sul tema “Table vs CSS” la mia posizione è quella di realizzare con le tabelle quello che non è possibile con i CSS in attesa di sviluppi futuri sia sulla tecnologia CSS che sulle versioni dei browser e sulla loro capacità3 di supportare in modo univoco e coerente questa tecnologia. Elementi di una pagina Gli elementi basilari di una pagina web, che sono: 1. Il logo. 2. Lo strumento di navigazione principale che permette l’accesso alle aree o sezioni del sito, che tipicamente assume la forma di una barra orizzontale di collegamenti, testuali o pittorici, posta sotto il logo. 3. Lo strumentoi di navigazione locale che permette l’accesso alle pagini locali dell’area attiva, che tipicamente assume la forma di un menu di collegamenti , testuali o pittorici, posti prevalentemente a sinistra della pagina. 1 Facilità di utilizzo…per semplicità. Fruibilità del contenuto a persone affette da disabilità… per semplicità. 3 E’ questa la principale critica e riserva da parte dei webdesigner ai CSS e la loro preferenza per le tabelle. 2 Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 3 4. Lo strumento di navigazione supplementare 4 che permette da un lato l’accesso alle pagine con uno schema diverso dal browsing 5 e dal searching 6 con l’utilizzo di una mappa del sito o di un indice del sito e dall’altro il collegamento diretto a pagine di servizio (come l’aiuto) oppure a pagine di servizi (come la pagina di contatto). Tipicamente assume la forma di una barra di collegamenti, testuali o pittorici, posti sul margine destro della pagina all’altezza del logo. 5. Lo strumento per il searching costituito da una casella di inseriemnto e un pulsante posto di norma a destra del logo in posizione centrale. 6. Il contenuto (testuale e grafico) strutturato in titoli, sottotili e paragrafi. Questi elementi basilari sono posizionati in diversi modi e attualmente il layout più utilizzato prevede la l’organizzazione della pagina in tre zone a cui sono assegnate specifiche informazioni e compiti: 1. Nella prima zona, posta in alto, si inserisce un banner contenente il logo, la barra supplementare e alla fine del banner la navigazione principale che fornisce l’accesso alle diverse sezioni del sito. 2. Nella seconda zona, posta a sinistra si inserisce la navigazione locale all’interno della sezione attiva. 3. Nella terza zona, posta a destra della navigazione locale e che occupa il resto della pagina si inserisce il contenuto della pagina. 4 Esistono altri modi di identificare questo strumento di navigazione funzioni possono esere molteplici a seconda dei collegamenti inseriti. 5 Modalità di ricerca che prevede il seguire i collegamenti. e le 6 Modalità di ricerca che prevede l’accesso diretto dopo una ricerca all’inetrno del sito con uno strumento sf di ricerca. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 4 Layout con le tabelle Le tabelle sono utilizzate nella realizzazione dell’interfaccia per il semplice motivo che permettono la suddivisione della pagina in aree, cioè il posizionamento dei diversi elementi costitutivi di una pagina web. Il layout tipico visto in precedenza prevede una tabella contenitore di 2 righe e 2 colonne con l’unione delle colonne della prima riga e l’inserimento sempre nella prima riga di una tabella di 2 righe e due colonne con l’unione delle righe della prima colonna (per l’inserimento del logo). A partire da questo schema, poi, si possono inserire all’interno della seconda riga della tabella contenitore di altre tabelle per la sudivizione in colonne e più in generale per la costituzione di aree per gli elementi. Le colonne o celle poi sono dotate di una cornice o di colori di sfondo per la realizzazione dell’effetto contrasto che assieme all’effetto di spaziatura (realizzato con le tabelle) sono alla base della progettazione di una interfaccia. La larghezza della tabella contenitore dipende dal tipo di layout. Nel layout liquido la tabella contenitore ha una larghezza impostata in percentuale da 100 (massima area del browser) ad una percentuale inferiore con, in questo caso, allineamento a sinistra oppure al centro della tabella. Nel layout fisso, invece, la larghezza è fissatsa in pixel e la misura dipende dall’ipotesi del progettista sulla risoluzione video utilizzata. Nel caso, tipico, di 800x600 pixel si assume una larghezza variabile tra 770 e 780 pixel utilizzando un colore di sfondo o talvolta una immagine per evidenziare la pagina web nel caso di utilizzo di una risoluzione video maggiore. Anche in questo caso l’allineamento della tabella è a sinistra oppure al centro. E’ sicuramente preferibile il layout liquido poiché in caso di risoluzione video diversa (in entrambe le direzzioni) la pagina si adatta, ma spesso i webdesigner preferiscono il layout fisso per avere un maggior controllo dell’interfaccia della pagina. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 5 Layout con CSS Con i CSS non si utilizzano le tabelle per la realizzazione del’interfaccia e quindi l’uso delle tabelle ritorna ad essere quello originario: una forma di rappresentazione di dati in formato tabellare. I CSS, quindi, non sono utilizzati esclusivamente per la definizione dello stile degli elementi di una pagina, ma anche per la costituzione dell’interfaccia permettendo quindi una reale separazione tra il contenuto e la sua struttura dato dall’HTML e la presentazione data dai CSS. Per capire la realizzazione di layout con i CSS è necessario affrontare i seguenti concetti di base: 1. Struttura ed ereditarietà di una pagina HTML 2. Unità di misura 3. Il Box model 4. Il posizionamento Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 6 Struttura ed ereditarietà di una pagina HTML Se analizziamo una pagina HTML come struttura, tralasciando il contenuto, ci si accorge che questa è costituita da un insieme di elementi, cioè una pagina è costituita da rettangoli disposti sullo schermo: un paragrafo, una immagine, una tabella, un titolo sono elementi. Gli elementi sono di tre tipi: 1. Blocco 2. Inline 3. Lista Gli elementi blocco sono i rettangoli che possono contenere altri elementi, sia di tipo blocco che di tipo inline. Quando un elemento blocco è inserito nel documento viene automaticamente creata una nuova riga nel flusso del documento. Per esempio nel caso di queste due righe HTML: <h1>Titolo</h1> <p>Pargrafo</p> le parole "titolo" e "paragrafo" appariranno su due righe diverse, perchè <h1> e <p> sono elementi blocco. Gli elementi inline come un’immagine, invece, non possono contenere elementi blocco, ma solo altri elementi inline oltre che il loro stesso tipo di contenuto, essenzialmente testo. Quando un elemento inline è inserito nel documento non viene creata una nuova riga nel flusso del documento. Per esempio nel caso di queste righe HTML: <p> Lorem ipsum dolor sit amet, <b>consectetuer adipiscing</b> elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.<br> Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.<br> Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum... </p> Il browser visualizza: Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum... Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 7 Un documento ha una struttura ad albero: si tratta di una gerarchia ordinata in cui tutti gli elementi hanno tra di loro delle relazioni di parentela. Le relazioni sono: 1. Relazione del tipo genitore-figlio 7 e ogni elemento è genitore o figlio di un altro, cioè quando si scende direttamente di un livello. Un elemento si dice genitore quando contiene altri elementi e si dice figlio quando è racchiuso in un altro elemento. 2. Relazione del tipo antenato 8 -discendente 9 in cui un elemento è antenato di un elemento sotto di due livelli. Per esempio nella seguente pagina: <html> <head> <title>Struttura del documento</title> </head> <body> <h1>Titolo</h1> <div> <p><a href="contatto.htm">Contatta la scuola</a></p> </div> <p>Telefono<b>0429.12.23.43</b></p> </body> </html> La struttura ad albero risulta essere: 7 Parent-Child in inglese. Ancestor in inglese. 9 Descandant in inglese. 8 Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 8 Si può dire che HEAD è figlio di HTML, che A è figlio di P, etc. Tra DIV e A, invece si scende di due livelli: diciamo allora che DIV è un antenato di A e che questo è rispetto al primo un discendente. E’ importante sottolineare che c'è un solo elemento che racchiude tutti e non è racchiuso: HTML e si dice che esso è l'elemento radice 10 . Le relazioni sono importanti perché il meccanismo fondamentale dei CSS è l'ereditarietà: molte proprietà impostate per un elemento sono autamaticamente ereditate dai suoi discendenti. Per esempio nel seguente foglio di stile: body { margin:0px 0px 0px 0px; font-size: 12px; font-family: Arial; color: Black; background: White; } p,h1,h2 { margin:0px 30px 10px 30px; } h1 { font-size:20px; padding-top:10px; color: Orange; } Il colore nero del testo impostato in BODY è ereditato dai P e H2, mentre H1 reimposta il colore nell’arancione. Il FONT arial, come lo sfondo BACKGROUND bianco è ereditato da tutti. Unità di misura Ci sono diverse unità di misura usate per definire dimensioni, spazi o distanze, anche se nella realizzazione delle pagine sono utilizzate solo alc une. Le principali sono: o pt (points - punti): unità di misura tipografica destinata essenzialmente a definire la dimensione dei font o em (em- height): è un unità di misura relativa, 1 em equivale all'altezza media di un carattere per un dato font. o 10 px (pixels): unità di misura ideale su monitor. E' quella più usata e facile da comprendere. Root in inglese. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 9 Il valore può essere espresso in modo assoluto (770px) oppure relativo utilizzando il percentuale (90%) e un valore espresso in percentuale è da considerare sempre relativo rispetto ad un altro valore, in genere quello espresso per l'elemento parente. Per esempio nel seguente foglio di stile: body { margin:0px 0px 0px 0px; font-size: 12px; font-family: Arial; color: Black; background: White; } p,h1,h2 { margin:0px 30px 10px 30px; font-size: 1em; } h1 { font-size:200%; padding-top:10px; color: Orange; } La dimensione del testo in P e H2 è pari a 1em e in H1 è il doppio rispetto a 12px impostato in BODY.. Questo comporta che nel caso di personalizzazione della dimensione del carattere nel browser Explorer H1 rimane fisso, mentre variano P e H2. Box model Un elemento blocco è costituito da elementi di base modificabili da proprietà dei CSS ed è fondamentale capire quali sono. Si può immaginare un blocco come 3 cornici innestate: Le cornici sono: 1. Area del contenuto. 2. Bordo del contenuto, cornice interna. 3. Cornice esterna, che è uno spazio di dimensioni variabili che separa un dato elemento da quelli adiacenti. Possiamo infatti definire il margine come la distanza tra il bordo di un elemento e gli elementi adiacenti. Le cornici possono essere sovrapposte o spaziate tra loro a seconda del valore delle proprietà che entrano in gioco nel box model. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 10 Le proprietà sono: 1. Width, larghezza dell’area del contenuto. Se non si imposta alcun valore per la proprietà width o se il valore usato è Auto la larghezza di un box è uguale a quella dell'area del contenuto dell'elemento contenitore. 2. Height, altezza dell’area del contenuto o più precisamente definisce la distanza tra il bordo superiore e quello inferiore di un elemento. 3. Padding-top, distanza tra il bordo superiore e il confine superiore dell’area del contenuto. 4. Padding-bottom, distanza tra il bordo inferiore e il confine inferiore dell’area del contenuto. 5. Padding-right, distanza tra il bordo destro e il confine destro dell’area del contenuto. 6. Padding- left, distanza tra il bordo sinistro e il confine sinistro dell’area del contenuto. 7. Margin-top, distanza tra il bordo superiore e il confine superiore della cornice esterna 8. Margin-bottom, distanza tra il bordo inferiore e il confine inferiore della cornice esterna. 9. Margin-right, distanza tra il bordo destro e il confine destro della cornice esterna. 10. Margin- left, distanza tra il bordo sinistro e il confine sinistro della cornice esterna. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 11 Bisogna distinguere tra la larghezza dell'area del contenuto e la larghezza effettiva di un box: la prima è data dal valore della proprietà Width11 , la seconda è data dalla somma delle diverse grandezze: o Altezza: Margin-bottom + Padding-bottom + Height + Padding-top + Margin-top o Larghezza: Margin- left + Padding- left + Width + Padding- left + Margin- left E' possibile ovviamente che i due valori coincidano: accade quando di un particolare elemento non si impostino margini, paddding e bordi; o quando il valore di tali proprietà sia uguale a 0 L’altezza in realtà dipende dall’altezza dell’area del contenuto che dipende da cosa contiene, che ha quindi natura variabile. Il box può essere dotato di: o Un bordo, che è una linea di dimensione, stile e colore variabile che circonda la zona del padding e l'area del contenuto. In questo caso la misura della larghezza dell’elemento deve tener conto anche del bordo. o Uno sfondo che comprende oltre all’area del contenuto anche il padding. Per esempio nel seguente foglio di stile: #div1 { background: Orange; margin : 40px; border : 10px solid #CC0033; padding : 10px; width : 200px; height : 100px; } La larghezza complessiva dell'elemento, cioè l'area che occupa sullo schermo, va dal bordo della finestra fino all''estremo del margine destroè di 320px data da: o 40 + 10 + 10 + 200 + 10 + 10 + 40 = 320 Altra cosa è, invece, la proprietà Width che è di 200px: va quindi intesa come l'area dove trova spazio il testo dell'elemento. 11 Explorer 5/5.5 su Windows interpreta male il concetto di larghezza, infatti intende la larghezza globale dell'elemento, compresi margini, padding e bordi. In Explorer 6 se nel documento, infatti, non si usa nessun DOCTYPE il browser di Microsoft funziona in modalità retro-compatibile, ripetendo bug ed errori dei suoi predecessori. Un comportamento utile per gli sviluppatori che possono così simulare nella versione 6 i comportamenti delle precedenti versioni. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 12 Per due box adiacenti in senso verticale che abbiano impostato un margine inferiore e uno superiore la distanza non sarà data dalla somma delle due distanze. A prevalere sarà invece la distanza maggiore tra le due. E' il meccansimo del cosiddetto margin collapsing. Tale meccanismo non si applica ai box adiacenti in senso orizzontale. Il valore Auto. Solo per tre proprietà è possibile impostare il valore auto: margini, altezza e larghezza (width). L'effetto è quello di lasciar calcolare al browser l'ammontare di ciascuna di esse in base alla risoluzione dello schermo e alle dimensioni della finestra. Solo i margini possono avere valori negativi. Ciò non è consentito per padding, bordi, altezza e larghezza. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 13 Posizionamento Position è la proprietà fondamentale per la gestione della posizione degli elementi, di cui determina la modalità di presentazione sulla pagina. Si applica a tutti gli elementi e non è ereditata. Valori o static o absolute o fixed o relative Ciascuno di questi valori merita un spiegazione approfondita da cui emergeranno i concetti di base che governano le regole sul posizionamento. Static E' il valore di default, quello predefinito per tutti gli elementi non posizionati secondo un altro metodo. Rappresenta la posizione normale che ciascuno di essi occupa nel flusso del documento. Absolute L'elemento, o meglio, il box dell'elemento viene rimosso dal flusso del documento ed è posizionato in base alle coordinate fornite con le proprietà top, left, right o bottom. Il posizionamento avviene sempre rispetto al box contenitore dell'elemento. Questo è rappresentato dal primo elemento antenato (ancestor) che abbia un posizionamento diverso da static. Se tale elemento non esiste il posizio namento avviene in base all'elemento radice HTML, che in condizioni standard coincide con l'area del browser che contiene il documento e che ha inizio dall'angolo superiore sinistro di tale area.Un elemento posizionato in modo assoluto scrorre insieme al resto del documento. Fixed Usando questo valore il box dell'elemento viene, come per absolute, sottratto al normale flusso del documento. La differenza sta nel fatto che per fixed il box contenitore è sempre il cosiddetto viewport. Con questo termine si intende la finestra principale del borwser, ovvero l'area del contenuto. Altra differenza fondamentale: un box posizionato con fixed non scorre con il resto del documento. Rimane, appunto, fisso al suo post. L'effetto è lo stesso che si può ottenere con l'uso dei frame, in cui una parte della pagina rimane fissa e il resto scorre. Solo che qui il documento è solo uno. Purtroppo, il valore non è supportato da Explorer su Windows. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 14 Relative L'elemento viene posizionato relativamente al suo box contenitore. In questo caso il box contenitore è il posto che l'elemento avrebbe occupato nel normale flusso del documento. La posizione viene anche qui impostata con le proprietà top, left, bottom, right. Ma qui esse non indicano un punto preciso, ma l'ammontare dello spostamento in senso orizzontale e verticale rispetto al box contenitore. Passiamo ora all'analisi delle proprietà che concretamente definiscono dove un elemento posizionato va a collocarsi, dal momento che che con position stabiliamo solo il come. Le proprie tà visibility, clip e z- index influiscono invece sull'aspetto visuale dei box definendone la visibilità e la relazione con gli altri box presenti nella pagina. Top Il significato di top cambia secondo la modalità di posizionamento. Per gli elementi posizionati con absolute o fixed definisce la distanza verticale rispetto al bordo superiore dell'elemento contenitore. Per gli elementi posizionati con relative stabilisce invece l'ammontare dello spostamento rispetto al lato superiore della posizione originaria. In questo caso, usando valori positivi il box viene spostato sotto, mentre con valori negativi lo spostamento avviene verso l'alto. Left Per gli elementi con posizione assoluta o fissa definisce la distanza dal bordo sinistro del box contenitore. Per quelli con posizione relativa stabilisce lo spostamento rispetto al lato sinistro della posizione originaria. Valori positivi spostano l'elemento verso destra, valori negativi verso sinistra. Bottom Per i box con posizione assoluta o fissa definisce la distanza dal bordo inferiore dell'elemento contenitore. Per quelli posizionati relativamente lo spostamento rispetto al lato inferiore della posizione originaria. Right Per i box con posizione assoluta o fissa definisce la distanza dal bordo destro dell'eleme nto contenitore. Per quelli posizionati relativamente lo spostamento rispetto al lato destro della posizione originaria. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 15 Z-index Con questa proprietà si imposta l'ordine di posizionamento dei vari elementi sulla base di una scala di livelli. E' un meccanismo simile a quello dei layer sovrapposti di Photoshop ed è utile nel contesto del posizionamento dinamico. In seguito ad un posizionamento, infatti, è possibile che un elemento si sovrapponga ad un altro rendendolo illeggibile. Impostando lo z- index è possibile modificare l'ordine di tutti gli elementi. Le tre proprietà che esamineremo in questa lezione possono modificare radicalmente la presentazione del documento. Sono, dunque, strumenti potenti ma come quei giocattoli un pò pericolosi vanno usati con molta cautela e sapendo bene cosa si fa, tenendo anche conto di serie implicazioni a livello di rendering tra i diversi browser. Display Torniamo per un attimo alla prima lezione. Avevamo chiarito in quella sede la fondamenatle distinzione tra elementi blocco, inline e lista che è alla base di (X)HTML. Bene, quello che sembrava un assioma inconfutabile, può essere sconvolto con l'uso della proprietà display. Essa ha una sola, semplice funzione: definire il trattamento e la presentazione di un elemento. Fin quando non la si usa ognuno segue la sua natura e il suo comportamento standard, ma con display possiamo intervenire su di esso e in certi casi ribaltarlo. La proprietà è ereditata. Nel caso del valore none. L'elemento non viene mostrato. O meglio: è come se non fosse nemmeno presente nel documento, in quanto non genera alcun box. Diversa, come vedremo, la proprietà visibility:hidden, che invece si limita a nascondere l'elemento. Float Con questa proprietà è possibile rimuovere un elemento dal normale flusso del documento e spostarlo su uno dei lati (destro o sinistro con il valore Right o Left) del suo elemento contenitore. Il contenuto che circonda l'elemento scorrerà intorno ad esso sul lato opposto rispetto a quello indicato come valore di float. La proprietà non è ereditata. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 16 Layout tipici Consideriamo i seguenti layout: 1. ALA like. 2. Layout classico. 3. Tre colonne fluido. Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 17 ALA like Il nome deriva dal design del sito di Alistapart www.alistapart.com : si tratta di una struttura su due colonne con la navigazione e il logo a sinistra, l’area del contenuto a destra e non vi è la presenza l’area del banner. La pagina HTML ha la seguente struttura: <html> <head> <title>Layout ALA</title> </head> <body> <div id=”sinistra”> <p>Contenuto</p> </div> <div id=”destra”> <p>Menu</p> </div> </body> </html> Codice CSS body { margin:0px 0px 0px 0px; font-family: Courier; font-size: 12px; height: 100%; background: Orange; } #sinistra { float:left; width:67%; background:#fff; border-right:2px solid #000; border-bottom:2px solid #000; margin-right:15px; padding-bottom:20px; } #destra { background: Orange; height: 100%; } p,h1,h2 { margin:0px 30px 10px 30px; } h1 { font-size:20px; padding-top:10px; color: Orange; } h2 { font-size:16px; padding-top:10px; color: black; } #destra p { font-size:14px; margin-left:30px; padding-top:5px; font-family: Verdana; } Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 18 Layout classico E’ il più utilizzato e consiste nella suddivisione della pagina in tre zone: intestazione con navigazione primaria, corpo diviso tra navigazione locale e contenuto. Una variante prevede il pié di pagina per la firma: nome dell’organizzazione, indirizzi, contatto e data ultimo aggiornamento. La pagina HTML ha la seguente struttura: <html> <head> <title>Layout Classico</title> </head> <body> <div id=”banner”> <p>Navigazione primaria</p> </div> <div id=”sinistra”> <p>Navigazione locale</p> </div> <div id=”destra”> <p>Contenuto</p> </div> </body> </html> ALA Layout Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 19 Codice CSS body { margin:0px 0px 0px 0px; padding:0px; font-family: Arial; font-size:12px; height: 100%; background:Orange; } #destra { width:80%; float:left; background:white; padding-bottom:10px; padding-top:10px; border-left:1px solid Gray; padding-left:80px; padding-right:80px; } #sinistra { width:20%; float:left; background:Orange; padding-bottom:10px; padding-top:10px; height: 100%; } #banner { padding:10px 10px 10px 10px; background:#ffA; border-bottom: 2px solid Gray; font-size:40px; color:Orange; } p,h1,h2 { margin-top:0px; margin-left:10px; margin-right:10px; } h1 { font-size:25px; padding-top:10px; color: Orange; } h2 { font-size:16px; padding-top:10px; color: black; } #sinistra p { font-family: Verdana; font-size:14px; } Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 20 Nel caso dell’introduzione della zona di firma (piè di pagina) si aggiunge al foglio di stile la seguente regola: #pie { float:left; padding:10px 10px 10px 10px; border-top: 1px solid Gray; font-size:12px; background:#ffA; color:Orange; width:100%; } E si aggiunge alla fine della pagina HTML il codice: <div id=”pie”> <p>Firma </p> </div> Layout classico Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 21 Tre colonne fluido Si tratta di un layout per l’home page che prevede la suddivisione della pagina in quattro zone: intestazione con navigazione primaria, corpo diviso in tre colonne con la centrale a larghezza maggiore. Per esempio nella prima colonna (sinistra) si inseriscono le news, nella seconda il contenuto o i collegamenti con testo anticipatorio alle principali sezioni e nella terza (destra) altre informazioni omogenee. Una variante prevede il pié di pagina per la firma: nome dell’organizzazione, indirizzi, contatto e data ultimo aggiornamento. La pagina HTML ha la seguente struttura: <html> <head> <title>Layout 3 colonne fluido</title> </head> <body> <div id=”banner”> <p>Navigazione primaria</p> </div> <div id=”sinistra”> <p>News</p> </div> <div id=”centro”> <p>Contenuto</p> </div> <div id=”destra”> <p>Informazioni o servizi</p> </div> </body> </html> Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Layout e CSS 22 Codice CSS body { margin:0px 0px 0px 0px; padding:0px; font-family: Arial; font-size:12px; height: 100%; background:Orange; } #destra { width:20%; float:left; background:Orange; padding-bottom:10px; padding-top:10px; color: Black; height: 100%; } #centro { width:60%; float:left; background:#fff; padding-bottom:10px; padding-top:10px; border-left:1px solid Gray; border-right:1px solid Gray; } #sinistra { width:20%; float:left; background:White; padding-bottom:10px; padding-top:10px; height: 100%; border-bottom: 1px solid Gray; } #banner { background:#ffA; border-bottom: 2px solid Gray; } p,h1,h2 { margin:0px 10px 10px 10px; } h1 { font-size:40px; padding-top:10px; color: orange; } h2 { font-size:16px; padding-top:10px; color: black; } #destra p { font-size:12px} #banner h1 { margin:0px; padding:10px} #sinistra p { font-family: Times New Roman; font-size:12px; color:Orange; font-weight: bold } Nicola Ceccon – Itis Euganeo di Este (Pd) – as 2003/2004 Titolo: Layout e CSS Autore: Nicola Ceccon Email: [email protected] Classe: QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo Via Borgofuro, 6 Via Borgofuro 6 - 35042 Este (PD) - Italy Telefono 0429.21.16 - 0429.34.72 Fax 0429.41.86 http://www.itiseuganeo.it [email protected] Note legali: Diffusione consentita con obbligo di citarne le fonti