BOX MODEL
Introduciamo l’argomento “Il modello a box nei CSS” dicendo che tutto in CSS è circondato da un box (scatola) e la comprensione di questi riquadri è la chiave per poter creare layout con i CSS o per allineare elementi con altri elementi. In questa lezione daremo un’occhiata adeguata al CSS Box Model in modo da poter creare attività di layout più complesse con una comprensione di come funziona e della terminologia ad esso correlata.
SPIEGAZIONE DEL BOX MODEL
Spiegazione delle diverse parti:
- Content – Il contenuto del box, dove appaiono testo e immagini
- Padding – È un’area intorno al contenuto. L’imbottitura è trasparente
- Border – Un bordo che circonda l’imbottitura e il contenuto
- Margin – È un’area al di fuori del bordo. Il margine è trasparente
Il modello a box ci consente di aggiungere un bordo attorno agli elementi e di definire lo spazio tra gli elementi.
LARGHEZZA E ALTEZZA DI UN ELEMENTO (WIDTH AND HEIGHT)
Per impostare correttamente la larghezza e l’altezza di un elemento in tutti i browser, è necessario conoscere il funzionamento del modello a box.
Importante: quando si impostano le proprietà di larghezza e altezza di un elemento con CSS, è sufficiente impostare la larghezza e l’altezza dell’area del contenuto. Per calcolare la dimensione completa di un elemento, è necessario aggiungere anche padding, bordi e margini.
La larghezza totale di un elemento dovrebbe essere calcolata in questo modo:
- Total element width = width + left padding + right padding + left border + right border + left margin + right margin
L’altezza totale di un elemento dovrebbe essere calcolata in questo modo:
- Total element height = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin
BORDI CSS
Le proprietà dei bordi CSS ci consentono di specificare lo stile, la larghezza e il colore del bordo di un elemento. La proprietà border-style specifica il tipo di bordo da visualizzare. Sono ammessi i seguenti valori:
- dotted – Definisce un bordo punteggiato
- dashed – Definisce un bordo tratteggiato
- solid – Definisce un bordo solido
- double – Definisce un doppio bordo
- groove – Definisce un bordo scanalato 3D. L’effetto dipende dal valore del colore del bordo
- ridge – Definisce un bordo increspato 3D. L’effetto dipende dal valore del colore del bordo
- inset – Definisce un bordo 3D. L’effetto dipende dal valore del colore del bordo
- outset – Definisce un bordo esterno 3D. L’effetto dipende dal valore del colore del bordo
- none – Nessun bordo
- hidden – Definisce un bordo nascosto
La proprietà border-style può avere da uno a quattro valori (per il bordo superiore, il bordo destro, il bordo inferiore e il bordo sinistro).
LARGHEZZA DEL BORDO (CSS BORDER WIDTH)
La proprietà border-width specifica la larghezza dei quattro bordi. La larghezza può essere impostata come una dimensione specifica (in px, pt, cm, em, ecc.) o utilizzando uno dei tre valori predefiniti: thin, medium, or thick. La proprietà border-width può avere da uno a quattro valori (per il bordo superiore, il bordo destro, il bordo inferiore e il bordo sinistro):
COLORE DEI BORDI (CSS BORDER COLOR)
La proprietà border-color viene utilizzata per impostare il colore dei quattro bordi.
Il colore può essere impostato da:
- nome – specifica un nome di colore, come “red”
- HEX – specifica un valore HEX, come “#ff0000”
- RGB: specifica un valore RGB, come “rgb(255,0,0)”
- HSL – specifica un valore HSL, come “hsl(0, 100%, 50%)”
- trasparente
Nota: se il colore del bordo non è impostato, eredita il colore dell’elemento.
La proprietà border-color può avere da uno a quattro valori (per il bordo superiore, il bordo destro, il bordo inferiore e il bordo sinistro).
LATI DEI BORDI CSS
Nei CSS ci sono anche proprietà per specificare ciascuno dei bordi (superiore, destro, inferiore e sinistro).
Se la proprietà border-style ha quattro valori:
- border-style: dotted solid double dashed;
- top border is dotted
- right border is solid
- bottom border is double
- left border is dashed
Se la proprietà border-style ha tre valori:
- border-style: dotted solid double;
- top border is dotted
- right and left borders are solid
- bottom border is double
Se la proprietà border-style ha due valori:
- border-style: dotted solid;
- top and bottom borders are dotted
- right and left borders are solid
Se la proprietà border-style ha un valore:
- border-style: dotted;
- tutti i bordi sono dotted
BORDI ARROTONDATI CSS (ROUNDED BORDERED)
La proprietà border-radius viene utilizzata per aggiungere bordi arrotondati a un elemento.
MARGINI
I margini vengono utilizzati per creare spazio attorno agli elementi, al di fuori di qualsiasi bordo definito. CSS ha proprietà per specificare il margine per ogni lato di un elemento:
- margin-top
- margin-right
- margin-bottom
- margin-left
Tutte le proprietà dei margini possono avere i seguenti valori:
- auto – il browser calcola il margine
- length – specifica un margine in px, pt, cm, ecc.
- % – specifica un margine in % della larghezza dell’elemento contenitore
- inherit – specifica che il margine deve essere ereditato dall’elemento genitore
Suggerimento: sono consentiti valori negativi.
Per abbreviare il codice, è possibile specificare tutte le proprietà del margine in una proprietà. La proprietà margin è una proprietà abbreviata per le seguenti proprietà margin individuali:
- margin-top
- margin-right
- margin-bottom
- margin-left
- Se la proprietà margin ha quattro valori:
- margin: 25px 50px 75px 100px;
- top margin is 25px
- right margin is 50px
- bottom margin is 75px
- left margin is 100px
- margin: 25px 50px 75px 100px;
- Se la proprietà margin ha tre valori:
- margin: 25px 50px 75px;
- top margin is 25px
- right and left margins are 50px
- bottom margin is 75px
- margin: 25px 50px 75px;
- Se la proprietà margin ha due valori:
- margin: 25px 50px;
- top and bottom margins are 25px
- right and left margins are 50px
- margin: 25px 50px;
- Se la proprietà margin ha un solo valore
- margin: 25px;
- Tutti i margini sono 25px.
- margin: 25px;
PADDING
Il riempimento viene utilizzato per creare spazio attorno al contenuto di un elemento, all’interno di qualsiasi bordo definito. Con CSS, hai il pieno controllo del padding. Esistono proprietà per impostare il riempimento per ciascun lato di un elemento (superiore, destro, inferiore e sinistro).
- padding-top
- padding-right
- padding-bottom
- padding-left
Tutte le proprietà del padding possono avere i seguenti valori:
- Length – specifica un’imbottitura in px, pt, cm, ecc.
- % – specifica un riempimento in % della larghezza dell’elemento contenitore
- inherit – specifica che il padding deve essere ereditato dall’elemento genitore
Nota: i valori negativi non sono consentiti.
Per abbreviare il codice, è possibile specificare tutte le proprietà del padding in una proprietà. È una proprietà abbreviata per le seguenti proprietà padding individuali:
- padding-top
- padding-right
- padding-bottom
- padding-left
Quindi, ecco come funziona:
Se la proprietà padding ha quattro valori:
- padding: 25px 50px 75px 100px;
- top padding is 25px
- right padding is 50px
- bottom padding is 75px
- left padding is 100px
Se la proprietà padding ha tre valori:
- padding: 25px 50px 75px;
- top padding is 25px
- right and left paddings are 50px
- bottom padding is 75px
Se la proprietà padding ha due valori:
- padding: 25px 50px;
- top and bottom paddings are 25px
- right and left paddings are 50px
Se la proprietà padding ha un valore:
- padding: 25px;
- tutti i paddings sono 25px
PROPRIETA’ WIDTH
La proprietà width CSS specifica la larghezza dell’area del contenuto dell’elemento. L’area del contenuto è la porzione all’interno del padding, del bordo e del margine di un elemento (il box model). Quindi, se un elemento ha una larghezza specificata, il riempimento aggiunto a quell’elemento verrà aggiunto alla larghezza totale dell’elemento. Questo è spesso un risultato indesiderato. Si può usare la proprietà box-sizing. Ciò fa sì che l’elemento mantenga la sua larghezza effettiva; se si aumenta il riempimento, lo spazio disponibile per i contenuti diminuirà. Nel codice ci son esempi sulla proprietà box-sizing.
Scrivi un commento