Il Sito per imparare gratuitamente a fare pagine Web
Oggi: Giovedì 26 Novembre 2009   Ore: 03:14     
 
Home · XHTML con Style · Primi Passi · Guida HTML · Guida CSS · Guida PHP · F.A.Q. · Scripting · Applets · Grafica Web · Forum · Comunicazioni Scrivimi
 
  Web-Link


Libera Donazione
 Guida XHTML
web-link
·Prefazione
·Gli Strumenti
·La Struttura base
·Il Testo
·Le Liste
·Le Immagini
·Immagini e Testo
·I links
·Links e CSS
·Caratteri speciali
·Colori e Sfondi
·Head e MetaTags
·Box Model
·Posizionare il Box
·Box liquido
·Il Layout
·Le Tabelle -Struttura
·Le Tabelle -Attributi
·I Moduli o Forms
·I Frames o Cornici
·Iframe
·Multimedia Audio
·Multimedia Applet
·Multimedia Script
·On line con FTP
·Alcuni Esempi
·Conclusioni
·Download Guida
web-link
  Fare Web
web-link
·Applets
·Banners
·Blog
·Chat
·Contatori
·DHTML
·E-Commerce
·Editors CSS
·Editors HTML
·Flash
·Forum
·F.T.P.
·Guestbooks
·Grafica
·Iscriz.Mot.Ricerca
·Java Applets
·Java Script
·Mailling List
·Mappe Cliccabili
·Meta Tags
·Mot.ricerca interno
·Scripting
·Sondaggi on-line
·Spazi Web
·Tag Boards
·URL forwarding
·Validatori HTML
·W3C Specifiche
·Web Designer
·Web Master
web-link
Guida XHTML con Style - Ver. 1.1.7 - Ottobre 2006 - By Web-Link
web-link
XHTML e CSS



 
 

il Box Model.

Una delle cose più importanti introdotte con i CSS è il box model che permette di creare una struttura (layout) fatta da rettangoli e/o quadrati, praticamente colonne e righe con o senza bordo, per poter impaginare i nostri dati, siano essi: testi, immagini o qualsiasi altra cosa che potrebbe far parte di una pagina web.

Vediamolo un box, questo il suo codice in css per definirlo:

#box {
width: 350px;
height: 150px;
padding: 20px;
border: 5px solid;
margin: 20px;
}

Dove:
width ed height sono rispettivamente larghezza ed altezza dei contenuti che possono essere inseriti all'interno del box.
padding lo spazio fra i contenuti ed il bordo del box.
border lo spessore del bordo.
margin la distanza del box dagli altri elementi della pagina.

box model

Questo il codice html per richiamarlo all'interno della pagina:

<div id="box">Testo di prova per riempire il box... </div>

Questo il risultato a video:

Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per

Da notare che la larghezza e l'altezza totale di un box sono dati dalla somma dei contenuti più quello del padding più quello dello spessore del bordo. Nel nostro caso lo spazio occupato realmente sarà: 350 + 20 + 20 + 5 + 5 = 400 pixel per la larghezza e 150 + 20 + 20 + 5 + 5 = 200 pixel in altezza. Praticamente le misure specificate (350 x 150) si riferiscono ai contenuti.

Questo è vero per tutti i browser tranne che per IE, il famoso browser della Microsoft, il più adoperato ma anche quello che meno di altri rispetta gli standards o se preferite le direttive del W3C. Li chiameremo bugs e di questi ce ne sono diversi che si sommano a molte proprietà dei CSS che non sono supportate. Pazienza, noi navigatori confidiamo nelle versioni future e nel frattempo chiediamoci come mai noi ci diamo da fare per adeguarci ai nuovi metodi quando poi certe case produttrici di browser possono fare come gli pare. Ma questo è un discorso che qui non c'entra molto.

Se si tratta di un solo box probabilmente nessuno si accorgerebbe di nulla ma dovendo creare un layout formato da più box ecco che le differenze si noterebbero, qualche pixel in più o qualche pixel in meno sarebbe sufficiente per scombinare tutta la nostra impaginazione, per fortuna si può rimediare, vediamo come.

Internet Explorer nelle versioni 5 e 5.5 ma anche per la versione 6 (se opera in quirks mode) considera la larghezza e l'altezza dei contenuti sottraendo dalle misure specificate quelle dello spessore del bordo e dello spazio padding. Nel nostro caso il box esterno sarà realmente 350 x 150 Pixel ma il box dei contenuti si rimpicciolisce diventando: 350 - 20 - 20 - 5 - 5 = 300 pixel per la larghezza e 150 - 20 - 20 - 5 - 5 = 100 pixel per l'altezza.

In questo esempio la differenza sarebbe notevole se visto con Un browser come Firefox ed un IE V.5 e dal momento che IE sottrae bordo e padding dalla larghezza e dall'altezza totale, si potrebbe risolvere creando due box uno interno all'altro dove nel box esterno non si specificano ne bordi ne padding che metteremo nel box interno.

#box-esterno {
width: 400px;
height: 200px;
}

#box-interno{
padding: 20px;
border: 5px solid;
margin: 20px;
}

Questo il codice html per richiamarlo all'interno della pagina:

<div id="box-esterno">
 <div id="box-interno">
  Testo di prova per riempire il box...
 </div>
</div>

Questo il risultato a video:

Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per riempire il box Testo di prova per

Il risultato a video è lo stesso per tutti i browser ed il bug di IE non assegnerà al box dei contenuti misure differenti perchè il box interno non ha misure alle quali sottrarre bordi e padding e nel box esterno non ci sono bordi e padding da sottrarre.

PS: se vedete i due box diversi frà di loro il vostro browser è uno di quelli affetti da bug del box model.

Nella prossima lezione dedicata sempre al box model vedremo come posizionarli e quali siano i parametri principali.

Se avete domande da fare potete scrivere sul forum di supporto, gratuito e aperto a tutti in apposita area XHTML.

  
Andrea Bianchi 
  Sito di riferimento: www.Web-Link.it
Forum di riferimento: www.ilmioforum.com




Valid CSS!

Valid XHTML 1.0 Transitional




per stampare questa pagina




  Potete fare domande e discutere l'argomento sul Forum



  Risorse
· Forum
· F.A.Q.
· Frames
· Scripting
· Applets
· Grafica Web
· Banner Exchange
· Novitànews
weblink
  Servizi
· Sondaggio
· I Files Scaricati
· Segnala il sito
· Leggi Guestbook
· Firma Guestbook
· Banners
weblink
  Linguaggi
· A.J.A.X.
· A.S.P.
· C.G.I.
· C.S.S.
· Flash
· H.T.M.L.
· X.H.T.M.L.
· Java
· JavaScript
· P.E.R.L.
· P.H.P.
· X.M.L.
weblink
  Download
· Primi Passi
· Guida HTML
· Guida CSS
· Guida XHTML
weblink
 
· Home Page Home Page · Aggiungi ai preferiti Aggiungi ai preferiti · Segnala ad un amico Segnala il sito ai tuoi amici ·
 
 

Questa pagina è esclusiva proprietà di © Web-Link © Andrea Bianchi 1997 ~ 2008
Vietata la copia e la distribuzione, anche parziale, senza la previa autorizzazione scritta di Web-Link