Non sapevo che CSS potesse fare questo
· 2m ·
Riepilogo:
-
Capacità del CSS Oltre lo Stile Base:
- Scoperto che CSS offre funzionalità avanzate come
:hasetext-wrap, tra le altre, che possono migliorare notevolmente le capacità di progettazione web.
- Scoperto che CSS offre funzionalità avanzate come
-
Ordine per Provare Nuove Funzionalità:
- HTML: Inizia con HTML per strutturare i contenuti.
- CSS: Usa CSS per lo stile e funzionalità avanzate come il selettore
:has. - JS: Integra JavaScript per comportamenti dinamici e interattività.
-
Selettori Avanzati di CSS:
-
Selettore
:has:- Permette di selezionare un elemento in base al suo stato o alla presenza di specifici figli.
Esempi:
elemento:has(.figlio) { } elemento:has(> .figlio-diretto) { } elemento:has(:stato) { } elemento:has(:stato) .figlio { } - Supporta la logica booleana:
elemento:has(:not(:stato)) { } elemento:has(.logico, .oppure) { } elemento:has(.logico):has(.e) { } - ❗ Rilevamento Funzionalità:
@supports selector(figura:has(didascalia)) { figura:has(didascalia) { // definisci proprietà } } - ⚠️ Attenzioni:
- Non è tollerante; usa
:whereper una selezione più permissiva. - Prende la specificità più alta tra i selettori argomentati.
- Mantieni i selettori il più specifici possibile per evitare problemi di prestazioni.
- Non è tollerante; usa
- Permette di selezionare un elemento in base al suo stato o alla presenza di specifici figli.
Esempi:
-
Selettore
:range:- Utilizza
:nth-child(n + B)e:nth(-n + B)per contare elementi basandosi su condizioni specifiche. Esempio::nth-child(An + B of .selettore) { } - Può anche utilizzare divisioni per contare con
Ane:last-child.
- Utilizza
-
-
Miglioramenti nel Wrapping del Testo:
-
Wrapping del Testo Tipograficamente Accurato:
text-wrap: balance;: Allinea le estremità delle righe per mantenere una forma rettangolare.text-wrap: pretty;: Evita orfani di una sola parola nell’ultima riga dei paragrafi.
-
-
Animazioni Basate sullo Scroll:
- Esplora animazioni guidate dallo scroll usando risorse come scroll-driven-animations.style (da vedere preferibilmente in Chrome).
- Come implementarle:
- Rimuovi la componente temporale dall’animazione.
- Rendi l’easing lineare.
- Aggiungi
animation-timeline: scroll(block root);.
-
❗ Rilevamento della Direzione di Scroll:
- Consulta CodePen di Pecus per esempi.
Risorse:
-
Progetto di Base:
- Usa MDN CanIUse e web.dev per verificare il supporto alle funzionalità.
-
Risorse Aggiuntive:
ℹ️ Questa pagina di appunti copre nuove funzionalità di CSS e fornisce indicazioni su come implementarle efficacemente, insieme a considerazioni importanti per prestazioni e compatibilità con i browser.