back to top

CSS: gestire i bordi con la proprietà border

Ultima famiglia di proprietà attinenti al concetto di Box-model è quella relativa alla gestione dei bordi. Attraverso queste proprietà CSS consente agli sviluppatori una massima libertà creativa essendo possibile, per ciascun bordo, definire:

  • spessore
  • stile
  • colore

Come abbiamo visto per le proprietà padding e margin, anche per i bordi è possibile agire simultanemante su tutti e quattro i lati del box oppure solo su uno specifico lato. Partiamo, questa volta, dall’analisi delle proprietà che consentono di stilizzare i bordi singolarmente.

Queste proprietà sono:

  • spessore:
    • border-top-width
    • border-bottom-width
    • border-left-width
    • border-right-width
  • stile:
    • border-top-style
    • border-bottom-style
    • border-left-style
    • border-right-style
  • colore:
    • border-top-color
    • border-bottom-color
    • border-left-color
    • border-right-color

Le proprietà della famiglia width attendono un valore numerico (con unità di misura) oppure una stringa tra thin (sottile), medium (medio) o thick (spesso).

Le proprietà della famiglia style attendono un valore tra:

  • none – nessun bordo;
  • hidden – nella pratica equivale a none;
  • dotted – bordo a puntini;
  • dashed – bordo a trattini;
  • solid – bordo con linea intera;
  • double – bordo con doppia linea;
  • groove – bordo in rilievo (3D);
  • ridge – bordo in rilievo (3D) opposto a groove;
  • inset – bordo "che rientra" (3D);
  • outset – bordo "che esce" (3D) opposto a inset;

Le proprietà della famiglia color, infine, attendono un valore corrispondente ad un colore (solitamente si utilizza la notazione esadecimale per i colori dei bordi oppure parole chiave come "red" o "black"). Altro valore possibile per i bordi è transparent.

Vediamo qualche esempio:

div.box {
  border-left-width: 5px;
  border-left-style: solid;
  border-left-color: #FF0000;     
}

Nel nostro esempio abbiamo lavorato esclusivamente sul bordo di sinistra specificando, attraverso le tre distinte proprietà, lo spessore, lo stile ed il colore. In realtà, per effettuare questa stilizzazione avremmo potuto utilizzare un’unica proprietà CSS, in questo modo:

div.box {
  border-left: 5px solid #FF0000;     
}

Attraverso la sola proprietà border-left abbiamo specificato, nell’ordine: spessore, stile e colore.

Questa proprietà rientra nel gruppo delle proprietà per la definizione del bordo con sintassi compatta, cioè:

  • border-top
  • border-bottom
  • border-left
  • border-right

Definire tutti i bordi con il medesimo stile

Nella maggioranza dei casi pratici non si procede a stilizzazioni differenti per ciascun bordo, ma si applica un medesimo stile alla totalità dei bordi del box. Per fare ciò abbiamo due strade. la prima (prolissa) è la seguente:

div.box {
  border-width: 5px;
  border-style: solid;
  border-color: #FF0000;     
}

In pratica si utilizzano tre proprietà analoghe a quelle viste prima ma prive del riferimento al lato da stilizzare.

In alternativa (scelta consigliata) si usa la proprietà border la quale consente una sintassi compatta del tipo:

div.box {
  border: 5px solid #FF0000;     
}

Ovviamente questa proprietà sarà da utilizzarsi solo qualora tutti e quattro i bordi del nostro box debbano avere il medesimo aspetto.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).