Esercitazione CSS

CSS CASA Introduzione CSS Sintassi CSS Selettori CSS CSS Come fare per Commenti CSS Colori CSS Sfondi CSS Confini CSS Margini CSS Imbottitura CSS Altezza/larghezza CSS Modello a scatola CSS Schema CSS Testo CSS Font CSS Icone CSS Collegamenti CSS Elenchi CSS Tabelle CSS Display CSS Larghezza massima CSS Posizione CSS Indice Z CSS Overflow CSS CSS galleggiante CSS Inline-block Allineamento CSS Combinatori CSS Pseudo-classe CSS Pseudoelemento CSS Opacità CSS Barra di navigazione CSS Menu a discesa CSS Galleria di immagini CSS Sprite di immagini CSS Selettori CSS Attr Moduli CSS Contatori CSS Layout del sito Web CSS Unità CSS Specificità CSS CSS! importante Funzioni matematiche CSS

CSS avanzato

Angoli arrotondati CSS Immagini del bordo CSS Sfondi CSS Colori CSS Parole chiave a colori CSS Gradienti CSS Ombre CSS Effetti di testo CSS Font Web CSS Trasformazioni 2D CSS Trasformazioni CSS 3D Transizioni CSS Animazioni CSS Suggerimenti CSS Immagini in stile CSS Riflessione dell'immagine CSS Adattamento agli oggetti CSS Posizione dell'oggetto CSS Mascheratura CSS Pulsanti CSS Impaginazione CSS Colonne multiple CSS Interfaccia utente CSS Variabili CSS Dimensioni della scatola CSS Query sui media CSS Esempi CSS MQ Cassetta flessibile CSS

CSS reattivo

Introduzione a RWD Vista posteriore Vista griglia RWD Query sui media RWD Immagini RWD Video RWD Quadri RWD Modelli RWD

Griglia CSS

Introduzione alla griglia Contenitore a griglia Elemento griglia

CSS SASS

Esercitazione SASS

Esempi CSS

Modelli CSS Esempi CSS css quiz Esercizi CSS Certificato CSS

Riferimenti CSS

Riferimento CSS Selettori CSS Funzioni CSS CSS di riferimento sonoro Font sicuri per il Web CSS CSS Animabile Unità CSS Convertitore CSS PX-EM Colori CSS Valori di colore CSS Valori predefiniti CSS Supporto del browser CSS

Dimensioni della scatola CSS


Dimensioni della scatola CSS

La proprietà CSS box-sizingci consente di includere il riempimento e il bordo nella larghezza e nell'altezza totali di un elemento.


Senza la proprietà di ridimensionamento della casella CSS

Per impostazione predefinita, la larghezza e l'altezza di un elemento vengono calcolate in questo modo:

larghezza + riempimento + bordo = larghezza effettiva di un elemento
altezza + riempimento + bordo = altezza effettiva di un elemento

Ciò significa: quando imposti la larghezza/altezza di un elemento, l'elemento appare spesso più grande di quanto hai impostato (perché il bordo e il riempimento dell'elemento vengono aggiunti alla larghezza/altezza specificata dell'elemento).

L'illustrazione seguente mostra due elementi <div> con la stessa larghezza e altezza specificate:

Questo div è più piccolo (la larghezza è 300px e l'altezza è 100px).

Questo div è più grande (anche la larghezza è 300px e l'altezza è 100px).

I due elementi <div> sopra finiscono con dimensioni diverse nel risultato (perché div2 ha un riempimento specificato):

Esempio

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
}

La box-sizingstruttura risolve questo problema.



Con la proprietà box-sizing CSS

La box-sizingproprietà ci consente di includere l'imbottitura e il bordo nella larghezza e nell'altezza totali di un elemento.

Se imposti box-sizing: border-box;un elemento, il riempimento e il bordo sono inclusi nella larghezza e nell'altezza:

Entrambi i div ora hanno le stesse dimensioni!

Evviva!

Ecco lo stesso esempio di sopra, con box-sizing: border-box; l'aggiunta di entrambi gli elementi <div>:

Esempio

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
  box-sizing: border-box;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
  box-sizing: border-box;
}

Poiché il risultato dell'utilizzo di box-sizing: border-box;è molto migliore, molti sviluppatori vogliono che tutti gli elementi delle loro pagine funzionino in questo modo.

Il codice seguente garantisce che tutti gli elementi siano dimensionati in questo modo più intuitivo. Molti browser utilizzano già box-sizing: border-box;molti elementi del modulo (ma non tutti, motivo per cui gli input e le aree di testo hanno un aspetto diverso in larghezza: 100%;).

Applicare questo a tutti gli elementi è sicuro e saggio:

Esempio

* {
  box-sizing: border-box;
}

Proprietà di dimensionamento della scatola CSS

Property Description
box-sizing Defines how the width and height of an element are calculated: should they include padding and borders, or not