6 snippet CSS che ogni sviluppatore front-end dovrebbe conoscere nel 2023

CSS potente, stabile e degno di essere aggiunto alla tua cassetta degli attrezzi, che puoi utilizzare oggi stesso.

Credo che ogni sviluppatore front-end dovrebbe sapere come utilizzare le query contenitore, creare un'esperienza di snap scroll, evitare position: absolute con griglia, creare rapidamente un cerchio, utilizzare i livelli a cascata e raggiungere un pubblico più ampio con meno risorse tramite le proprietà logiche. Ecco una breve panoramica di ciascuna di queste aspettative.

1. Una query sui container

La funzionalità CSS più richiesta per 10 anni consecutivi è ora stabile su tutti i browser e disponibile per l'utilizzo per le query sulla larghezza nel 2023.

.panel {
  container: layers-panel / inline-size;
}

.card {
  padding: 1rem;
}

@container layers-panel (min-width: 20rem) {
  .card {
    padding: 2rem;
  }
}
@container

Browser Support

  • Chrome: 105.
  • Edge: 105.
  • Firefox: 110.
  • Safari: 16.

Source

container

Browser Support

  • Chrome: 105.
  • Edge: 105.
  • Firefox: 110.
  • Safari: 16.

Source

2. Allineamento dello scorrimento

Le esperienze di scorrimento ben orchestrate distinguono la tua esperienza dalle altre. Lo scorrimento istantaneo è il modo perfetto per abbinare l'esperienza utente di scorrimento del sistema, fornendo al contempo punti di arresto significativi.

.snaps {
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}

.snap-target {
  scroll-snap-align: center;
}

.snap-force-stop {
  scroll-snap-stop: always;
}

Scopri di più sul potenziale di questa funzionalità CSS in questa vasta e stimolante raccolta di Codepen di circa 25 demo.

scroll-snap-type

Browser Support

  • Chrome: 69.
  • Edge: 79.
  • Firefox: 99.
  • Safari: 11.

Source

scroll-snap-align

Browser Support

  • Chrome: 69.
  • Edge: 79.
  • Firefox: 68.
  • Safari: 11.

Source

scroll-snap-stop

Browser Support

  • Chrome: 75.
  • Edge: 79.
  • Firefox: 103.
  • Safari: 15.

Source

overscroll-behavior

Browser Support

  • Chrome: 144.
  • Edge: 18.
  • Firefox: 150.
  • Safari: 16.

Source

3. Pila a griglia

Evita la posizione assoluta con una griglia CSS a una sola cella. Una volta impilati uno sopra l'altro, utilizza le proprietà di giustificazione e allineamento per posizionarli.

.pile {
  display: grid;
  place-content: center;
}

.pile > * {
  grid-area: 1/1;
}
grid

Browser Support

  • Chrome: 57.
  • Edge: 16.
  • Firefox: 52.
  • Safari: 10.1.

Source

4. Cerchio rapido

Esistono molti modi per creare cerchi in CSS, ma questo è sicuramente il più minimale.

.circle {
  inline-size: 25ch;
  aspect-ratio: 1;
  border-radius: 50%;
}
aspect-ratio

Browser Support

  • Chrome: 88.
  • Edge: 88.
  • Firefox: 89.
  • Safari: 15.

Source

5. Controllare le varianti con @layer

I livelli a cascata possono aiutare a inserire le varianti scoperte o create in un secondo momento nel posto giusto della cascata con il set originale di varianti.

/* file buttons.css */
@layer components.buttons {
  .btn.primary {
    
  }
}

Poi, in un file completamente diverso, caricato in un altro momento casuale, aggiungi una nuova variante al livello del pulsante come se fosse sempre stata lì con le altre.

/* file video-player.css */
@layer components.buttons {
  .btn.player-icon {
    
  }
}
@layer

Browser Support

  • Chrome: 99.
  • Edge: 99.
  • Firefox: 97.
  • Safari: 15.4.

Source

6. Memorizza meno e raggiungi più persone con le proprietà logiche

Memorizza questo nuovo modello di casella e non dovrai più preoccuparti di modificare il padding o il margine sinistro e destro per le modalità di scrittura internazionali e le direzioni dei documenti. Modifica gli stili dalle proprietà fisiche a quelle logiche, ad esempio padding-inline, margin-inline, inset-inline, e ora il browser si occuperà della regolazione.

button {
  padding-inline: 2ch;
  padding-block: 1ch;
}

article > p {
  text-align: start;
  margin-block: 2ch;
}

.something::before {
  inset-inline: auto 0;
}
padding-inline

Browser Support

  • Chrome: 87.
  • Edge: 87.
  • Firefox: 66.
  • Safari: 14.1.

Source

margin-block

Browser Support

  • Chrome: 87.
  • Edge: 87.
  • Firefox: 66.
  • Safari: 14.1.

Source

inset-inline

Browser Support

  • Chrome: 87.
  • Edge: 87.
  • Firefox: 63.
  • Safari: 14.1.

Source