8. • Protocollo di rete client/server
• Contesto di esecuzione: internet o intranet
• Protocollo applicativo: HTTP
server
client
script: ASP,JSP,PHP...
HTML
+ CSS + dati e risorse: file,
database, immagini...
Javascript
Gli attori in gioco
12. • Modello request/response
• Tipo di request: GET, POST, HEAD…
• Protocollo “stateless”
server
client Request
(browser) GET /default.htm HTTP/1.1
Host: www.microsoft.com
Response
HTTP/1.1 200 OK
Server: Microsoft-IIS/6.0
Content-Type: text/html
Content-Lenght: 155
<html><body><h1>Hello …
Il protocollo HTTP
27. <h1>Questo è un titolo</h1>
<p>
Questo è un paragrafo con un
<a href="http://www.cgn.it">link</a>.
</p>
Esempio di codice HTML
28. tag di apertura
<h1>Questo è un titolo</h1>
<p>
Questo è un paragrafo con un
<a href="http://www.cgn.it">link</a>.
</p>
Esempio di codice HTML
29. tag di apertura tag di chiusura
<h1>Questo è un titolo</h1>
<p>
Questo è un paragrafo con un
<a href="http://www.cgn.it">link</a>.
</p>
Esempio di codice HTML
30. tag di apertura tag di chiusura
<h1>Questo è un titolo</h1>
<p>
Questo è un paragrafo con un
<a href="http://www.cgn.it">link</a>.
</p>
attributo
Esempio di codice HTML
31. Per un elenco completo dei tag scaricate il cheat sheet da addedbytes.com
Per un elenco completo scaricate il pdf
33. I CSS spiegano al
browser come deve
visualizzare le
informazioni
(colore, altezza, posizione, carattere,…)
34. Per identificare un elemento nella
pagina HTML ho bisogno di un selettore
html: <h1>titolo</h1>
1 Nome del TAG selettore: h1
ID dell’elemento
2 (univoco)
html: <p id=“intro”>…</p>
selettore: #intro
Classe
3 dell’elemento
html: <p class=“intro”>
…</p>
(posso averne più di selettore: .intro
una per pagina e tag)
Premessa
35. Struttura di una
regola di stile
commento
selettore {
/* dichiarazione */
proprietà: valore;
}
36. h1 {
/* titolo in grassetto e
di colore rosso*/
color: #FF0000;
font-weight: bold;
padding: 15px 0 10px 0;
}
spaziatura
(Top Right Bottom Left)
37. #logo {
/* immagine con bordi
e margini personalizzati */
border: 1px solid #0000FF;
margin: 10px;
} RedGreenBlue
39. Per un elenco completo delle regole scaricate il cheat sheet da addedbytes.com
40. Dove posso specificare le regole?
1 In-linea (direttamente come attributo style)
All’interno di un tag come questo:
2 <style type=“text/css”>…</style>
In un file esterno caricato nell’head con:
3 <link rel=“stylesheet” type=“text/css” href=“/style.css”/>
Come faccio ad usarli?
41. Il browser ha però degli stili predefiniti, è buona
norma definire una regola per rimuoverli:
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4,
h5, h6, p, blockquote, pre, a, abbr, acronym, address, big,
cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
Reset CSS
42. # regole
Selettore in linea
# of ID #of CLASS # of TAG Specificità
LI 0 0 0 1 0,0,0,1
UL LI 0 0 0 2 0,0,0,2
DIV UL LI 0 0 0 3 0,0,0,3
DIV UL .LIclass 0 0 1 2 0,0,1,2
#myLI 0 1 0 0 0,1,0,0
<li style="color:red"> 1 0 0 0 1,0,0,0
NOTA: a parità di specificità prevale l’ultima regola
Perché sono “Cascading”?
43. Credits
Le immagini contenute in questa presentazione
hanno licenza Creative Commons
Slide 2 : http://www.flickr.com/photos/96745290@N00/54371294/
Slide 9 : http://www.flickr.com/photos/sbh/4826181212/in/photostream/
Slide 16 : http://www.flickr.com/photos/pisosantacruz/414375220/
Slide 32 : http://www.flickr.com/photos/anieto2k/5498808099/in/photostream/
44. Thank You MANUEL SCAPOLAN
website: www.manuelscapolan.it
twitter: manuelscapolan
e-mail: info@manuelscapolan.it