01 - I tre moschettieri del Box Model (prima parte).
Crea la cartella 03 nella solita cartella
degli esercizi css e crea in essa i file
index01.html e stili01.css.
index01.html
- <!doctype html>
- <html>
- <head>
- <title>Box Model</title>
- <meta charset="UTF-8" />
- <link type="text/css" rel="stylesheet" href="reset.css" />
- <link type="text/css" rel="stylesheet" href="stili01.css" />
- </head>
- <body>
- <img src="immagine.jpg" alt="la tua immagine" />
- </body>
- </html>
stili01.css
- body {
- background:url("sfondo.gif");
- }
- img {
- width: 100px;
- }
Assicurati di inserire nella cartella 03 le tue
immagini (che per il momento si chiamano "immagine.jpg"
e "sfondo.gif"). Nel caso dovesse servire, ricordati
di modificare il nome delle immagini e/o delle estensioni.
Attenzione: ricordati che l'unico modo per modificare
l'estensione di un'immagine è convertirla usando un
apposito programma. Pertanto se hai immagini con
estensioni diverse da quelle indicate nel codice, devi
modificare il codice.
Apri la pagina in una scheda e tienila lì.
Aggiungi le seguenti dichiarazioni in coda alla regola
per img, apri la pagina in un'altra scheda ed
osserva le differenze.
stili01.css
- border-color: red;
- border-style: solid;
- border-width: 10px;
Prosegui l'esercizio nella scheda successiva.
Sostituisci le ultime tre dichiarazioni della regola
per img con le dichiarazioni che seguono,
apri la pagina in un'altra scheda ed osserva le
differenze.
stili01.css
- border: red solid 10px;
- padding: 30px;
02 - I tre moschettieri del Box Model (seconda parte).
Aggiungi la seguente dichiarazione in coda alla regola
per img, apri la pagina in un'altra scheda ed
osserva le differenze.
Aggiungi la seguente dichiarazione in coda alla regola
per img, apri la pagina in un'altra scheda ed
osserva le differenze.
Ogni volta che il browser deve presentare un elemento
crea il box che lo contiene.
Su quale zona del box interviene la proprietà
border? E come si usa?
Su quale zona del box interviene la proprietà
padding? E come si usa?
Su quale zona del box interviene la proprietà
padding? E come si usa? Ed in che modo
la proprietà background interviene sul
padding?
Prova adesso queste sfide.
sfida 01
Realizza un documento html che mostri tre elementi
di tipo paragrafo e provalo con tre diversi css:
uno che imposti un margine di 30 pixel, uno che
imposti un bordo di 30 pixel, uno che imposti un
padding di 30 pixel.
sfida 02
Guarda sul manualetto quali sono i valori che
può assumere la proprietà border-style e
scegline tre. Sei capace di mostrare un'immagine con
ciascuno di questi tre bordi uno dentro l'altro?
03 - I tre moschettieri del Box Model e i loro punti cardinali (prima parte).
Crea i file index03.html e stili03.css.
index03.html
- <!doctype html>
- <html>
- <head>
- <title>Box Model</title>
- <meta charset="UTF-8" />
- <link type="text/css" rel="stylesheet" href="reset.css" />
- <link type="text/css" rel="stylesheet" href="stili03.css" />
- </head>
- <body>
- <p>Tutti gli esseri umani nascono liberi ed eguali in dignità e diritti.</p>
- </body>
- </html>
stili03.css
- p {
- width: 250px;
- text-align: center;
- margin: 20px;
- padding: 10px;
- border-color: red;
- border-style: solid;
- border-width: 10px;
- }
Apri la pagina web prodotta in una scheda e tienila lì.
Sostituisci l'ultima riga con queste quattro dichiarazioni.
stili03.css
- border-top-width: 20px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
Apri la pagina web prodotta in una scheda e tienila lì.
Sostituisci le ultime quattro righe con questa dichiarazione.
stili03.css
- border-width: 20px 1px 1px 1px;
Apri la pagina web prodotta in una scheda e tienila lì.
Sostituisci l'ultima riga con questa dichiarazione.
Prosegui l'esercizio nella scheda successiva.
04 - I tre moschettieri del Box Model e i loro punti cardinali (seconda parte).
Osservando ciò che hai fatto nella scheda precedente, rispondi alle seguenti domande.
Quali sono le proprietà per indicare la dimensione dei quattro bordi?
Hai ricordato anche la proprietà border-width?
Cosa succede si si indica un solo valore? E se se ne indicano due? E se se ne indicano quattro?
Prova adesso queste sfide.
sfida 01
Sei capace di realizzare un file css che mostri i quattro bordi
ciascuno di un colore diverso?
sfida 02
Sei capace di realizzare un file css che mostri i quattro bordi
ciascuno con un aspetto diverso?
sfida 03
Quello che abbiamo detto per border, vale anche per le
proprietà margin e padding? Verificalo.
sfida 04
Prova a dare auto come valore alle proprietà
margin-left e margin-right.
sfida 05
Prova a dare auto come valore alle proprietà
padding-left e padding-right.
In che circostanza ha senso usare la proprietà auto? A che scopo?
05 - Elementi di tipo in linea ed elementi di tipo blocco: classificazione.
Cominciamo questa scheda con una definizione.
definizione
Elementi in linea
si dispongono uno dopo l'altro.
Elementi a blocco
si dispongono uno sotto l'altro.
Realizza i documenti html e/o css che ti servono per
capire quali dei seguenti elementi sono
di tipo in linea e quali elementi a blocco?
(Suggerimento: usa la proprietà background)
- a
- article
- div
- table
- ul
- em
- p
- strong
- section
- span
- nav
- header
Quali elementi sono in linea?
Quali elementi sono a blocco?
06 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (prima parte)
L'attività di questa scheda (e delle schede a seguire) ti permetterà di
individuare quali proprietà hanno senso per gli elementi in linea
e quali per gli elementi a blocco.
Innanzitutto bisogna realizzare i codici necessari: cominciamo con questi.
index06a.html
- <!doctype html>
- <html>
- <head>
- <title>Elementi in linea e a blocco</title>
- <meta charset="UTF-8" />
- <link type="text/css" rel="stylesheet" href="reset.css" />
- <link type="text/css" rel="stylesheet" href="stili06a.css" />
- </head>
- <body>
- <h1>Isaia</h1>
- <h2>10, 1-2</h2>
- <p>
- Guai a voi che fate leggi ingiuste per opprimere il mio popolo. Così
- negate la giustizia ai poveri e li private dei loro diritti; sottraete
- alle vedove e agli orfani i loro beni.
- </p>
- </body>
- </html>
stili06a.css
- body {
- font-family: Verdana;
- color: white;
- font-size: 62.5%;
- }
- p {
- font-size: 2em;
- color: blue;
- text-shadow: lightblue 0.1em 0.1em 0.2em;
- }
- h1 {
- background-color: grey;
- font-size: 5em;
- }
- h2 {
- background: lightblue;
- font-size: 3em;
- cursor: crosshair;
- }
Si qui noti l'introduzione delle proprietà cursor e text-shadow.
sfida 01
Aiutandoti con il manualetto approfondisci il funzionamento di cursor e text-shadow.
07 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (seconda parte)
Completando il lavoro della scheda precedente, copiamo questi codici.
index06b.html
- <!doctype html>
- <html>
- <head>
- <title>Elementi in linea e a blocco</title>
- <meta charset="UTF-8" />
- <link type="text/css" rel="stylesheet" href="reset.css" />
- <link type="text/css" rel="stylesheet" href="stili06b.css" />
- </head>
- <body>
- <span class="piccolo">Guai a</span><span class="grande">voi</span>
- <span class="piccolo">che fate leggi <b>ingiuste</b> per opprimere
- <b>il <i>mio</i> popolo</b>. Cosi negate la <strong>giustizia</strong>
- ai poveri e li private dei loro diritti; sottraete alle vedove e
- agli orfani i loro <b>beni</b></span>
- </body>
- </html>
stili06b.css
- @font-face {
- font-family: "Peak";
- src: url("font/Peak.eot");
- src: local("Peak"), url("font/Peak.ttf") format("truetype");
- }
- body {
- font-family: "Peak";
- color: brown;
- font-size: 62.5%;
- letter-spacing: 0.3em;
- line-height: 10em;
- }
- span.piccolo {
- font-size: 3em;
- }
- span.grande {
- font-size: 10em;
- }
- b, strong {
- font-weight: 900;
- }
- i {
- font-style: italic;
- }
sfida 01
Scaricando dal web ciò che ti serve, sei capace di usare un
font diverso?
08 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (terza parte)
Apri le due pagine web create nelle due schede precedenti e comincia
questa nuova attività.
Aggiungi le seguenti righe di codice al primo progetto.
stili06a.css
- h1, h2, p {
- width: 200px;
- }
Aggiungi le seguenti righe di codice al secondo progetto.
stili06b.css
- b, strong , i {
- width: 200px;
- }
È cambiato qualcosa nel primo progetto? E nel secondo?
La proprietà width vale per gli elementi in linea?
E per quelli a blocco?
Adesso ti sfido a testare cosa accade per le proprietà simili a width.
sfida 01
Cosa succede per la proprietà height?
sfida 01
Cosa succede per le proprietà min-width e min-height?
sfida 01
Cosa succede per le proprietà max-width e max-height?
09 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (quarta parte)
Osserviamo adesso come cambia la nostra pagina web
se usiamo la proprietà text-align.
Aggiungi le seguenti righe di codice al primo progetto.
stili06a.css
- h1 {
- text-align: center;
- }
- h2 {
- text-align: right;
- }
- p {
- text-align: justify;
- }
Aggiungi le seguenti righe di codice al secondo progetto.
stili06b.css
- span.piccolo, span.grande {
- text-align: center;
- }
È cambiato qualcosa nel primo progetto? E nel secondo?
La proprietà text-align vale per gli elementi in linea?
E per quelli a blocco? Su quali elementi interviene?
10 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (quinta parte)
Osserviamo adesso come cambia la nostra pagina web
se usiamo la proprietà vertical-align.
Aggiungi le seguenti righe di codice al primo progetto.
stili06a.css
- h1, h2, p {
- vertical-align: bottom;
- }
Aggiungi le seguenti righe di codice al secondo progetto.
stili06b.css
- span.piccolo, b, i {
- vertical-align: top;
- }
È cambiato qualcosa nel primo progetto? E nel secondo?
La proprietà vertical-align vale per gli elementi in linea?
E per quelli a blocco?
Pensi di usarla?
11 - Elementi di tipo in linea ed elementi di tipo blocco:
comportamenti (sesta parte)
Osserviamo adesso come cambia la nostra pagina web
se usiamo la proprietà border.
Aggiungi questa regola al primo progetto.
stili06a.css
- h1, h2, p {
- border: red 1px solid;
- }
Aggiungi questa regola al secondo progetto.
stili06b.css
- b, i, strong {
- border: red 1px solid;
- }
È cambiato qualcosa nel primo progetto? E nel secondo?
La proprietà border vale per gli elementi in linea?
E per quelli a blocco?
Su quale tipo di elementi pensi di usarla in futuro?
Sei pront* per un paio di sfide fatte bene?
sfida 01
Prepara tu il codice per osservare se e come cambiano gli elementi
a blocco e gli elementi in linea con la
proprietà padding.
sfida 02
Prepara tu il codice per osservare se e come cambiano gli elementi
a blocco e gli elementi in linea con la
proprietà margin.
In che modo le proprietà padding e margin modificano
l'aspetto degli elementi in linea?
E di quelli a blocco?
Su quale tipo di elementi pensi di usarla in futuro?
12 - Elementi di tipo inline-block.
Facciamo un paio di osservazioni sugli elementi in linea e
a blocco.
Rispondi a queste domande.
Un elemento di tipo blocco può contenere altri elementi di tipo blocco?
Un elemento di tipo blocco può contenere elementi di tipo in linea?
Un elemento di tipo in linea può contenere altri elementi di tipo in linea?
Un elemento di tipo in linea può contenere elementi di tipo blocco?
Adesso riempi la tabella scrivendo si o no per
riassumere quali elementi supportano quali proprietà.
E adesso la sfida del secolo!
sfida 01
Verifica il comportamento del tag img in quei quattro casi.
Il tag img è un elemento in linea o un elemento a blocco?