Liste, tabelle e layout classico in CSS

Stilizzare gli elenchi

ul {
  list-style-type: square;  /* disc | circle | square | none */
  list-style-position: inside;
}

ol {
  list-style-type: upper-roman; /* decimal | upper-roman | lower-alpha ... */
}

list-style-type: none è molto usato per trasformare una <ul> in un menu di navigazione, rimuovendo i pallini di default.


Stilizzare le tabelle

table {
  width: 100%;
  border-collapse: collapse; /* unisce i doppi bordi tra celle adiacenti in un bordo unico */
}

th, td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}

tr:nth-child(even) {
  background-color: #f9f9f9; /* righe alternate colorate, per leggibilità */
}

border-collapse: collapse è quasi sempre la prima riga da aggiungere quando si stilizza una tabella: senza, ogni cella ha il proprio bordo doppio, con un effetto visivo poco pulito.


display e visibility

span {
  display: block; /* cambia il comportamento dell'elemento, non il tipo */
}

.nascosto {
  display: none;      /* rimuove l'elemento dal flusso, non occupa spazio */
}

.invisibile {
  visibility: hidden;  /* nasconde l'elemento MA lo spazio resta occupato */
}

La differenza tra display: none e visibility: hidden è una domanda classica: il primo elimina lo spazio, il secondo lo mantiene vuoto.


Posizionamento

.relativo {
  position: relative;
  top: 10px;   /* si sposta di 10px rispetto alla SUA posizione normale */
}

.assoluto {
  position: absolute;
  top: 0;
  right: 0;    /* si posiziona rispetto al primo antenato con position diverso da static */
}

.fisso {
  position: fixed;
  bottom: 20px;
  right: 20px; /* resta fisso anche scorrendo la pagina, es. un pulsante "torna su" */
}

Z-index

Quando più elementi posizionati si sovrappongono, z-index decide chi sta sopra:

.pulsante-fisso {
  position: fixed;
  z-index: 1000; /* valori più alti stanno sopra */
}

z-index funziona solo su elementi con position diverso da static (il valore di default).

Esercitazione pratica

Stilizza una tabella con bordi puliti e righe alternate colorate, trasforma un elenco in un piccolo menu orizzontale senza pallini, e crea un pulsante “torna su” con position: fixed in basso a destra.


Approfondisci