lunedì 11 luglio 2011

Layout


Introduzione

Come le varie parti sono disposte all’interno di una pagina.
Generalmente i layout si distinguono in base al numero di colonne utilizzate per disporre i contenuti. I più comuni so a una(monolitico), due, tre colonne.

Nozioni di base

Il layout è gestito (quasi) interamente tramite CSS.
Per definire il layout, è necessario conoscere:
il box model
elementi di blocco linea
il posizionamento

Elementi blocco e in linea

Gli elementi di blocco strutturano contenuti più estesi di una singola riga(es. paragrafo). Possono contenere altri elementi di blocco, in linea o semplice.
Gli elementi in linea si estendono all’interno di una singola riga di contenuto. Non possono contenere elementi di blocco.
Esempio elemento di linea, Link:
<a href=”http://…”>Repubblica</a>
Esempio elemento di blocco, Paragrafo:
<p>
Prima lezione di HTML
</br>
Introduzione
</p>

Posizionamento

Ci sono quattro tipi di posizionamento che si possono utilizzare, attraverso la proprietà position per controllare la disposizione dei diversi elementi di una pagina:
Statico (static);
Reletivo (relative);
Assoluto (absolute);
Fisso (fixed);
Si può ricorrere inoltre alla tecnica del floating, proprietà float.

Posizionamento statico

E’ l’impostazione predefinita: i box che contengono gli elementi seguono l’ordine in cui compaiono nel codice della pagina.
Un box statico è inserito in una sequenza in cui precede o segue immediatamente altri box statici.

Posizionamento relativo

Un box posizionato relativamente viene spostato rispetto alla sua posizione predefinita, nella quale rimane uno spazio vuoto.
L’entità dello spostamento si può controllare attraverso le proprietà “top”, “right”, “bottom” e “left”.
Esempio: Il paragrafo è spostato di 20px da sinistra e dall’alto.
p{
position: relative;
left: 20px;
top: 20px;
}
La posizione dei box che seguono un box posizionato relativamente viene calcolata rispetto alla sua posizione predefinita (allo spazio vuoto…) e non alla sua posizione effettiva.

Posizionamento assoluto

Un box posizionato in modo assoluto viene spostato rispetto alla posizione effettivamente occupata dal primo box contenitore posizionato in modo assoluto o relativo (in mancanza di un tale elemento, rispetto alla pagina stessa).
L’entità dello spostamento si può controllare attraverso le proprietà “top”, “right”, “bottom” e “left”.
I box assoluti non lasciano spazi vuoti: sono “estratti dal flusso naturale della pagina” e la posizione dei box che li seguono nel codice viene calcolata come se i box assoluti non esistessero affatto.

Posizionamento fisso

Un box posizionato in modo fisso si comporta come un box posizionato in modo assoluto (viene spostato rispetto alla posizione effettiva del primo elemento contenitore posizionato in modo assoluto o relativo ed è estratto dal flusso della pagina), ma risulta fissato rispetto alla finestra del browser, ovvero non si sposta con il resto del contenuto quando si fa scrolling.

Floating

Un box fluttuante viene estratto dal flusso della pagina e spostato verso sinistra o verso destra.
E’ necessario specificare le dimensioni del box!
Esempio:
p {width:200px;float: left;}
img {width:150px;float: right;}
Se l’elemento fluttuante non ha una larghezza intrinseca – come ad esempio le immagini è necessario specificarla esplicitamente, tramite la proprietà width.
Il contenuto circostante fluisce intorno al box fluttuante.
Se si vuole che un elemento prenda avvio da sotto il box fluttuante, invece di scorrergli intorno, bisogna applicargli la proprietà “clear”.
Valori della proprietà clear:
• left (vale rispetto ai box fluttuanti a sinistra);
• right (vale rispetto ai box fluttuanti a destra);
• both (vale rispetto ad entrambi i tipi di box fluttuanti).

Layout ad una colonna

Creiamo la colonna con un elemento generico <div> che contiene tutti gli elementi  figli di <body>
Associamo al <div> un attributo id in modo da poterlo identificare univocamente.
Esempio:
<body>
<div id=”colonna”>
 <p> prova </p>
</div>
</body>

Passo 1: creare la colonna

In CSS, definiamo la larghezza e la posizione della colonna.
Possiamo definire la larghezza con unità di misura assolute o relative.
Per centrare la colonna, dobbiamo sia centrare il contenuto dell’elemento <body>, (attraverso la proprieta’ textalign) sia definire i margini destro e sinistro della colonna con il valore “auto”, che li imposta automaticamente alla stessa dimensione.
body {
text-align: center;
}
#colonna {
width: 800px;
margin: 0 auto;
text-align: left;
background-color: pink;
}

Passo 2: strutturare la colonna

Di solito, nei layout a una colonna si distinguono tre sezioni principali: la testata (header), l’area che raccoglie i contenuti principali (main) e il pié di pagina (footer).
In XHTML, definiamo queste sezioni con altrettanti <div>, assegnando ad ognuno un opportuno “id”.
Queste sezioni sono solo indicative: nulla ci vieta di fare a meno di alcune di esse o, al contrario, di crearne di più.
In CSS definiamo le proprietà relative al box model per ciascuna delle sezioni create. Esempio larghezza inferiore alla colonna principale e impostiamo i margini per centrare i <div>
E utile impostare il padding , cosi da lasciare un gradevole spazio intorno ai contenuti.

Layout a due colonne

<div id=“contenitore”>
<div id=“header”>testata</div>
<div id=“colonna1”>colonna1</div>
<div id=“colonna2”>colonna2</div>
<div id=“footer”>piede</div>
</div>
In css definiamo allinamento del contenitore(text-align: center;) e le dimensioni di tutti i div.
Per affiancare le colonne: floating.
colonna 1(float: left;)
colonna 2(float: right;)
footer(clear: both;)
Ricordati che le dimensioni totali di un oggetto comprendono anche margin, border e padding.
Per un menu alternativo in orizzontale:
http://www.htmldog.com/articles/tabs/

giovedì 7 luglio 2011

Form


Sintassi

Tag: <form>
Attributi:
Action: indica l’URL del programma o della pagina di risposta che processerà i dati(es. link a pagina di conferma o mailto)
Method: post | get (metodo con cui i dati del modulo saranno inseriti al server (necessita programmazione).
Id: nome univoco per identificare il form
<form action=”registrazione.php” method=”post” id =”iscrizione”>
…Contenuto del form…
</form>

Invio Dati

Post: incorpora i dati del modulo nella richiesta http(non sono visibili all’utente)
Get : accoda il valore dell’url di richiesta della pagina.
Se non si specifica di default è GET.
Generalmente non si utlizza il metodo GET per moduli lunghi.
La lunghezza massima degli URL è di 8129 caratteri.
Per questioni di sicurezza è meglio usare POST

Elementi

E necessario creare degli spazi di input per l’utente. Ogni spazio deve avere un nome.
Si possono inserire:
aree di testo.
check box (selezione multipla).
radio box (selezione singola).
menu a selezione singola o multipla.

Campo di testo

E possibile definire un campo per l’inserimento del testo della dimensione di una singola riga.
Tag da utilizzare è input e il valore  da assegnare all’attributo type può essere di due tipi:
text: se è di tipo testuale
Password:  se è di tipo pw
Altri attributi sono:
Name: nome logico del campo di testo
Value: valore iniziale di default
Size lunghezza del campo in nr di caratteri
Maxlenght: numero massimo di caratteri consenti
<input type="text" name="nome” size="40" maxlength="40" />

Aree di testo

Per creare un area di testo su più righe  si usa il tag textarea.
Attributi possibili:
name : nome logico
cols : numero colonne
rows numero di righe
<textarea name=“areatesto” cols=“50” rows=“6”>
Testo iniziale di default
</textarea>

Radio button

Il radio button permette di inserire opzioni mutualmente esclusive.
Il tag per creare un radio button è input con il vaolre di type  settato a radio.
Altri attributi sono:
name: nome logico. Un gruppo di pulsanti devono condividere lo stesso nome.
value : valore di risposta del bottone. Imposta il valore da inviare al server quando viene selezionato il  pulsante di scelta.
checked: bottone selezionato di default
Esempio:
<input type="radio" name=“naz" value="ita" checked="checked"/>
Italiana <br/>
<input type="radio" name=“naz" value="fra" />
Francese <br/>
<input type="radio" name=“naz" value="eng" />
Inglese <br/>
<input type="radio" name=“naz" value="usa" />
Americana <br/>

Check box

Il check box permette di inserire opzioni di selezione, anche multiple.
Il tag per creare un check box e’ input con il valore di type settato a checkbox.
Altri attributi sono:
Name: nome logico. In questo caso il nome non deve essere uguale a quelli degli altri elementi del gruppo.
Value: valore di risposta del bottone. Imposta il valore da inviare al server quando viene selezionato il pulsante di scelta.
checked: e’ il bottone selezionato di default
Esempio
<input type="checkbox" name="discorso" value="il_discorso_del_re" /> Il discorso del re <br/>
<input type="checkbox" name="immaturi" value="immaturi" /> Immaturi <br/>
<input type="checkbox" name="black" value="black_swan" /> The black swan <br/>


Menu di selezione

L’ultima possibilità è quella di creare dei menu popup a selezione singola o multipla.
Per definire il menu si usa il tag select
Per ogni riga del menu (opzione) si usa il tag option
Gli attributi di select possono essere:
 Name: nome logico
Size: numero di opzioni del menu che devono essere visualizzate prima che venga aperto
Multiple: permette la selezione multipla, altrimenti si ha la singola
Gli attributi di option sono:
 Value: valore inviato al server quando viene selezionata la riga
Esempio:
<select name="professione">
<option value="studente">Studente</option>
<option value="operaio">Operaio</option>
<option value="casalinga">Casalinga</option>
</select>
Menu di selezione multipla Esempio(per scegliere piu opzioni si deve cliccare CTRL)
<select name="interessi" multiple="multiple">
<option value="lettura">Lettura</option>
<option value="musica">Musica</option>
<option value="sport">Sport</option>
<option value="viaggi">Viaggi</option>
<option value="danza">Danza</option>
</select>

Pulsanti invia e cancella

Per realizzare il pulsante di invio (invia i dati inseriti nella form con il metodo indicato –get o post) o cancella (resetta tutti I campi della form) e’ necessario usare il tag input.
L’attributo type puo’ essere settato come:
Submit: invia i dati
Reset: resetta i dati
Gli altri attributi possibili sono:
Name: nome logico
Value: etichetta che compare sopra il pulsante
Esempio:
<input type="submit" value="Iscrivimi" />
<input type="reset" value="Cancella i campi" />


Label

Per rendere le form piu’ facilmente navigabili, si possono aggiungere alcuni elementi.
Ogni campo dovrebbe avere la sua label (etichetta). Si usa il tag label e si associa ad un oggetto della form in modo univoco attraverso l’attributo for. Il campo for deve contenere l’id dell’oggetto interessato.
Esempio:
<label for=“nome”> Inserisci il tuo nome </label>
<input type=“text” name=“nome” id=“nome” value=“ ”/>
Nota: se si utilizzano le label, name e id sono entrambi obbligatori.
Esempio:
<label for="nome"> Inserisci il tuo nome: </label>
<input type="text" name="nome" id="nome" size="40" maxlength="40"/>

Fieldset e legend

Si possono raggruppare campi della form correlati, per esempio i vari elementi del nome (nome, cognome, titolo, etc.) o dell’indirizzo (via, città, CAP, provincia, Paese, etc.) usando il tag fieldset.
Il tag fieldset può avere come figlio il tag legend, che serve per indicare un’etichetta per il raggruppamento.
Esempio:
<fieldset>
<legend> Nome e cognome </legend>
<p>Nome<input type="text" name="nome"/> </p>
<p>Cognome <input type="text" name="cognome"/> </p>
</fieldset>

Option groups

Il tag optgroup serve per raggruppare le opzioni in un menù di selezione.
Richiede un attributo label, il cui valore è visualizzato dal browser come un’intestazione (non selezionabile) prima delle opzioni corrispondenti.
Esempio
<select name="country">
<optgroup label="Africa">
<option value="gam">Gambia</option>
<option value="mad">Madagascar</option>
<option value=“nam">Namibia</option>
</optgroup>

mercoledì 6 luglio 2011

Tabelle


Tabelle XHTML

Sintassi

L’elemento che identifica una tabella è :
<table>…</table>
Può avere come attributo:
summary: sintetizza una descrizione del contenuto.
All’interno di table è possibile inserire il tag :
<caption> che riporta il titolo della tabella.
Possono essere ppresenti i seguenti tab:
tr : riga
th: titolo
td: cella

Attributi colspan e rowspan

Td e th possono avere come attributi:
colspan (numero di colonne che occupa la cella)
rowspan  (numero di righe che occupa la cella)
<table>
<tr> <td>Cella 1</td> <td>Cella 2</td> <td>Cella 3</td> </tr>
<<tr> <td>Cella 4</td> <td colspan=”2”>Cella 5</td> </tr>
</table>

Tabelle CSS

Table layout e width

Il layout può avere due valori:
auto. Il layout è definito dal browser.
fixed. Le regole sono impostate dall’autore. E possibile definire la larghezza attraverso la proprietà width.
Esempio:
table {table-layout: fixed;  width. 400px;}

Border

E necessario definirlo esplicitando nello stile con la proprietà border.
Esempio:
table {border: 1px solid blackl;}
td {border: 1px dotted silver;}
I bordi della tabella  e delle singole celle sono gestiti separatamente.

Border-collapse e border-spacing

La proprietà border-collapse serve ad indicare, nel caso venga definito un  bordo per le celle, se questo dovrà essere condiviso o no
Border-collapse:collapse; bordo viene condiviso.
Border-collapse: separate; non viene condiviso(defaullt).
Se il valore è separate è possibile indicare lo spazio che deve esserci tra i bordi con la proprietà border-spacing
Table {border-collapse:separate;
border spacing: 4px;}

Empty-cells

Agisce sulle celle che non presentano al loro interno alcun tipo di markup, nemmo il cassico &nbsp;(spazio vuoto).
Può assumere due valori:
show (mostra i bordi della cella)
hide(non mostra i bordi e rimane uno spazio vuoto)
Table{empty-cells:show;}

Caption-side

Indica in quale punto deve essere visualizzato il contenuto del tag caption
Quattro valori possibili:
top
      bottom
      right
      lef
t
Table{caption-side:bottom;}

Sfondo e Testo

Proprietà dello sfondo:
background-color
       background-image
       background-position
       background-repeat
Per il testo si possono utilizzare le relative proprietà:
(font-family, font-style…)

martedì 5 luglio 2011

Biglietti da Visita

Non ci sono più problemi se hai urgenza per la stampa dei tuoi biglietti da visita plastificati!
Attivata la linea di produzione per i biglietti da visita plastificati Fronte o Fronte/Retro con tempi di lavorazione anche di soli 2 giorni lavorativi.

Liste e Link


Liste

Liste non ordinate

<ul>
<li>Primo elemento</li>
<li>Secondo elemento</li>
<li>Terzo elemento</li>
</ul>

Liste ordinate

<ol>
<li>Primo elemento</li>
<li>Secondo elemento</li>
<li>Terzo elemento</li>
</ol>

Liste di definizione

<dl>
<dt> Termine </dt>
<dd> Definizione </dd>
<dt> Termine </dt>
<dd> Una definizione </dd>
<dd> Un’altra possibile definizione </dd>
<dt> Termine </dt>
<dt> Sinonimo </dt>
<dt> Un altro sinonimo</dt>
<dd> Definizione dei tre termini </dd>
</dl>

Liste CSS

Proprietà : list-style-type

Definisce il tipo di punto elenco
Si applica agli elementi UL e OL, non alle iste di definizione.
Sintassi:
selettore{list-style-type: valore;}
Tipi di valore:
disc | cicle | squaredecimal | decimal-leading-zero | lower-roman | upperroman| lower-alpha | upper-alpha
Esempio:
ol {list-style-type: decimal-leading-zero;}

Proprieta’: list-style-image

Definisce l'URL di un'immagine (su web o sul pc) da usare come marcatore di un list-item al posto dei punti elenco predefiniti.
Sintassi:
selettore {list-style-image: url(url_immagine);}
Esempio:
ul li {list-style-image: url(img/punto_elenco.gif);}

Proprieta’: list-style-position

Imposta la posizione del punto elenco rispetto al box in cui è contenuto il testo list-item.
Sintassi:
selettore {list-style-position: valore;}
Valori:
outside (fuori dal box elemnto)| inside (dentro al box elemento)
Esempio:
ol {list-style-position: inside;}

Link e Ancore

Link sintassi

Permettono di creare una struttura ipertestuale
Sintassi:
<a href=”URL”>etichetta del link</a>
Con l’attributo title=”descrizione” si può fornire una breve decrizione visibile al passaggio del mouse.

Ancore

Permettono di raggiungere sezioni interne alla pagina.
Ancora al punto su cui puntare:
<h2 id=”nome_ancora”>Ancora</h2>
Creare il collegamento:
<a href=”#nome_ancora”>Collegamento all’ancora</a>

Link e Ancore CSS

Pseudo-classi

Una pseudo-classe serve a indicare un particolare stato di un elemento ed è utilizzata per impostare uno stile ad un elemento al verificarsi di certe condizioni.
Es. Link può assumere diversi stati. Per associare ai diversi stati uno stile diverso è necessario usare una pseudo classe.
Sintassi:
elemento:stato{dichiarazione}
a:visited{color:red;}

Proprietà Link

Link non ancora selezionato:
a:link{…;}
Passaggio mouse sul link(mouse over)
a:hover{..;}
Link selezionati
a:active{…;}
Link visitati:
a:visited{..;}

lunedì 4 luglio 2011

Immagini


Sintassi XHTML

Immagini

Attributo obbligatorio:
<img src=”pathname  dell’immagine”/>
Pathname può essere relativo o assoluto

Percorsi assoluti

Per lo più quando si fa riferimento a risorse situate in siti estreni.
<img src=http://www.html.it/foto1.jpg/>
Per accedere a documenti situati all’interno del pc
<img src=”C:\documenti\sito\immagini\foto1.jpg”/>

Percorsi relativi

Per le risorse locali.
Nella stessa directory:
<img src=“foto2.jpg” />
Directory diversa:
<img src=“img/foto2.jpg” />
I blank si indicano con %20

Attributi del tag img

Alt(testo alternativo): visualizzato quando il browser non visualizza le immagini. Garantisce l’accessibilità. E obbligatorio!
Title: descrizione testuale o titolo.Visualizzato al passaggio del mouse sull’immagine.
<img src="img/matite.jpg" title="matite" alt="immagine di matite colorate"/>

CSS

Bordi

Proprietà border-style
I valori possono essere : solid, dotted, dashed, double, groove, ridge, inset, outset.
Per lo spessore del bordo: border-width
(top, right, bottom, left).
Per il colore border-color

Padding e margin

L’immagine si può anche formattare utilizzando le proprietà  di padding e margin
DIMENSIONI: si possono specificare sia nell’html(attibuti di img) sia tramite css con le proprietà:
width
       height

Immagini di sfondo

Tramite la proprietà background-image si può utilizzare un’immagine come sfondo di un elemento.
body{ background-image:url(image.jpg);}
La proprietà background-repeat specifica se e in che modo un’immagine di sfondo deve essere ripetuta.
Valori possibili:
repeat(default) ripete sia in orizzontale che verticale.
repeat-x solo in orizzontale
repeat-y solo in verticale
no- repeat mostra una sola volta.
La proprietà background-position definisce la posizione (iniziale, nel caso l’immagine sia ripetuta) dell’immagine di sfondo.
Valori possibili:

Top left
Top center
Top right
Center left
Center center
Center right
Bottom left
Bottom center
Bottom right
Esempio:
body { background-image: url(img/balloon.jpg);
background-repeat:repeat-x; }

sabato 2 luglio 2011

Css


Introduzione

CSS (Cascading Style Sheets) linguaggio per la formattazione.

CSS esterni

Link:
<link rel=”stylesheet” type=”text/css” href=”nomeFile.css”/>

CSS embedded

Solo se ci sono regole specifiche per una sola pagina all’interno dell’head.
<style type=”text/css”>
</style>

CSS inline

Regole contenute nell’attributo “style” dell’elemento che si vuole modificare(body).
Solo per test e prove rapide
<p style=”font-size:2em;”
contenuto
</p>

Ordine di applicazione

CSS default del browser
       CSS esterno
       CSS embedded
       CSS inline

CSS Sintassi

Le regole CSS

Una regola CSS è composta da due parti:
Selettore che definisce la parte del documento a cui verrà applicata la regola (h1,title,a…).
Blocco delle dichiarazioni con coppie proprietà-valore.
h1{color: blue; fontsize:12px;}
Per ogni dichiarazione non è possibile specificare più proprietà ma solo più valori.

Selettori id

Nei CSS si fa riferimento all’attributo di tipo id con il selettore:
#nome_id à #unito {font: blue; }

Selettori class

Nei CSS si fa riferimento all’attributo di tipo class con il selettore:
.nome_class à .matricola {font: blue; }
Si può restringere il campo di applicazione di un selettore di classe ad un solo tipo di tag accodandolo al selettore HTML corrispondente.
p.matricola {font: blue; }
Sarà applicato a tutti gli elementi p il cui attributo “class” ha valore “matricola”.

Selettori raggruppati

Si possono associare le stesse  dichiarazioni a piu selettori separandoli con una virgola.
.matricola, #unito, h1 {fontsize:10 px;}
Si possono applicare delle regole css a degli elementi annidati indicando, prima dell’elemento prescelto, una sequenza di elementi genitore separati da spazi. Selettore diventa più specifico!
. #unito p a {color: red;}
La dichiarazione viene applicata agli elementi di tipo “a” contenuti in un elemento “p” contenuto a sua volta in un elemento con identificativo “unito”.
Non è necessario indicare tutti gli elementi genitore!

Ordine di applicazione delle regole

Nel caso di più regole con lo stesso selettore, prevale quella che compare per ultima nel CSS.
Nel caso di più dichiarazioni con selettori diversi applicate allo stesso elemento, prevale quella con il selettore più specifico (l’id prevale sulla classe).

Commenti

/*testo del commento*/

Dare stile al testo con i CSS

Tipo di Font

Proprietà “font-family”. Viene generalmente definito per l’elemento body e utilizzato per tutto il documento.
body {font-family: Verdana;}
I nomi di font composti vanno inseriti tra virgolette: “Times new Roman”.
Font più utilizzati: “Times New Roman”, Arial, Helvetica (per Mac), Century Gothic, Avant Garde (per Mac), Verdana.
Se si indicano più nomi di font separati da virgola, il browser visualizzerà il primo disponibile.
font-family {Arial, Helvetica, sans-serif;}
serif, sans-serif o monospace sono font generici che è bene indicare.

Colore

Proprietà “color” permette di controllare il colore.
Proprietà “background-color” permette di definire il colore di sfondo.
body { color: #666; background-color: #DBFFDB;}
Valori RGB: costituiti da tre valori.
p {color: rgb(0,0,255);}
Valori esadecimali: in base 16 costituiti dal simbolo #.
p {color:#0000ff;}
Nomi di colori: esistono 17 valori standard, oltre a transparent: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, yellow.
Colori Web Safe: sono 216 colori che si vedono nello stesso modo, indipendentemente dal browser in cui appaiono.

Dimensione Font


Proprietà “font-size”.
Unità di misura da utilizzare sono di due tipi:
Assolute: pixel (px).
Relative: percentuali (%), em (si basa sulla dimensione del carattere M maiuscolo del font dell’elemento contenitore.)
Si consiglia di usare % per il body, e in em per gli altri elementi.
body {font-size: 80%;}
h1 {font-size: 3em;}
l’unità di misura senza spazi dopo il numero.
Proprietà “font-weight” definisce lo spessore di un font. Valori piu comuni sono “bold”(grassetto) e “normal”.
h1{font-weight:bold;}
Proprietà “font-style” definisce l’inclinazione del testo. I piu comuni sono “italic”(corsivo) e “normal”.
Proprietà “text-decoration” può avere 4 valori:
“underline” sottolineato.
“overline” riga sopra al testo.
“line-trought” testo barrato.
“none” nessuna sottolineatura.
Proprietà “text-align” si gestisce l’allineamento del testo all’interno di un blocco:
left, right, center, justify
p{ text-align=“left”}
Sul web il left è più leggibile.

Box  Model

Introduzione

Ciascun elemento è inserito in un contenitore a strati le ui caratteristiche possono essere manipolate.

  Fonte immagine: http://www.w3schools.com/css/box-model.gif

Padding

Le dimensioni di ogni singolo lato possono essere definite con le proprietà:
“padding-top”
“padding-right”
“padding-bottom”
“padding-left”
H1{padding: 2em;}
Quando si definisce uno sfondo per un elemento, con il colore o immagine questo occupa l’area definita da contenuto e padding.

Border

La proprietà “border-width”
(“border-top-width” etc…)
Permette di definire le dimensioni del bordo.
La proprietà “border-color”
(“border-top-color”etc…)
Permette di definire il colore
La proprietà “border-style”
(“border-top-style” etc….)
Permette di definire lo stile del bordo:
solid , dashed e dotted.
E obbligatorio definire lo stile del bordo perché le dichiarazioni relative a colore e dimensione abbiano un effetto visibile.
Modalità sintetica: border: dimensione stile colore;
border: 1px dashed silver;

Margin

Rappresenta l’involucro esterno del box
margin-top etc..