Το σύγχρονο CSS προσθέτει συναρτήσεις και ιδιότητες που αντικαθιστούν ολόκληρες κατηγορίες media-query και JavaScript tricks. Τα κύρια χαρακτηριστικά:
clamp() — ρευστές, περιορισμένες τιμές
h1 { font-size: (, , ); }
Το σύγχρονο CSS προσθέτει συναρτήσεις και ιδιότητες που αντικαθιστούν ολόκληρες κατηγορίες media-query και JavaScript tricks. Τα κύρια χαρακτηριστικά:
h1 { font-size: (, , ); }
clamp(min, preferred, max) παρέχει ρευστή τυπογραφία/διάστιχο που κλιμακώνεται ομαλά με την viewport αλλά παραμένει εντός ορίων — αντικαθιστά αρκετά breakpoints font-size media queries με μια γραμμή.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Πριν, η διατήρηση ενός responsive 16:9 κουτιού απαιτούσε το臭 padding-bottom: 56.25% hack. Τώρα είναι μια δήλωση — και δεσμεύει χώρο (καλό για CLS) πριν φορτωθούν οι εικόνες.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() επιλέγουν το μικρότερο/μεγαλύτερο από τις τιμές, επιτρέποντας σε μια ιδιότητα να είναι responsive χωρίς media query (π.χ. "90% πλάτος, αλλά ποτέ περισσότερο από 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid επιτρέπει σε ένα ένθετο grid να κληρονομήσει τις γραμμές κομματιών του γονέα, ώστε τα στοιχεία σε ξεχωριστές κάρτες (τίτλοι, σώματα, κουμπιά) να ευθυγραμμίζονται τέλεια σε κοινές σειρές — προηγουμένως αδύνατο χωρίς σταθερά ύψη.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Αυτά τα χαρακτηριστικά εξαλείφουν tricks μεγάλης διάρκειας: clamp()/min()/max() αντικαθιστούν σωρούς media queries για ρευστή αλλαγή μεγέθους, aspect-ratio αντικαθιστά το padding hack και προστατεύει από μετατόπιση διάταξης, και subgrid λύνει ευθυγράμμιση μεταξύ στοιχείων.
Τα κάνουν responsive, αναλογικές διατάξεις δραματικά απλούστερες και πιο ισχυρές — το σύγχρονο CSS κάνει δηλωτικά αυτό που παλιά χρειαζόταν JS ή εύθραυστα tricks.