λειτουργεί σαν ένα υβρίδιο: ένα στοιχείο συμπεριφέρεται σαν (παραμένει στη φυσική ροή) κύλιση προς ένα όριο που ορίζετε, στη συνέχεια συμπεριφέρεται σαν (μένει σταθερό) — αλλά μόνο είναι ακόμα στην οθόνη.
λειτουργεί σαν ένα υβρίδιο: ένα στοιχείο συμπεριφέρεται σαν (παραμένει στη φυσική ροή) κύλιση προς ένα όριο που ορίζετε, στη συνέχεια συμπεριφέρεται σαν (μένει σταθερό) — αλλά μόνο είναι ακόμα στην οθόνη.
position: stickyrelativefixed.section-header {
position: sticky;
top: 0; /* sticks when its top edge reaches the viewport top */
}
Η τιμή top (ή bottom/left/right) είναι απαραίτητη — ορίζει το όριο. Χωρίς αυτήν, το sticky δεν κάνει τίποτα.
Ενα sticky στοιχείο περιορίζεται στο γονικό του περιέχον. Κολλάει ενώ κυλάτε μέσα από το γονικό στοιχείο, στη συνέχεια κυλάει μακριά μόλις το κάτω μέρος του γονικού περάσει. Αυτό είναι αυτό που κάνει τις "sticky κεφαλίδες ενότητας" να λειτουργούν — κάθε κεφαλίδα κολλάει μόνο ενώ η δική της ενότητα είναι ορατή.
1. Ένας πρόγονος έχει overflow: hidden/auto/scroll. Αυτό είναι η αιτία #1. Η sticky τοποθέτηση σπάει με οποιονδήποτε κυλόμενο πρόγονο, επειδή το στοιχείο κολλάει σχετικά με αυτό το κοντέινερ κύλισης, όχι τη σελίδα:
.wrapper { overflow: hidden; } /* ❌ silently kills sticky on descendants */
2. Το γονικό στοιχείο δεν είναι αρκετά ψηλό. Το sticky λειτουργεί μόνο εάν το γονικό στοιχείο είναι ψηλότερο από το sticky στοιχείο — εάν το γονικό έχει το ίδιο ύψος, δεν υπάρχει τίποτα να κυλήσει, επομένως δεν φαίνεται ποτέ να κολλάει.
3. Κανένα όριο δεν έχει οριστεί. Η ξέχασμα top/bottom σημαίνει κανένα σημείο κόλλησης.
4. Περιορισμοί ύψους στο γονικό στοιχείο (π.χ. ένα flex γονικό που επεκτείνει τα στοιχεία) μπορούν επίσης να καταργήσουν το χώρο κύλισης.
✓ Did I set top/bottom/left/right?
✓ Does ANY ancestor have overflow other than visible?
✓ Is the parent container taller than the sticky element?
Το position: sticky υποστηρίζει sticky κεφαλίδες, κεφαλίδες πίνακα, πλάγιες γραμμές και "scrollspy" UI χωρίς JavaScript.
Αλλά τα περίεργά του — ειδικά ότι ένα overflow σε οποιονδήποτε πρόγονο το σπάει σιωπηλά — το κάνουν μια συχνή πηγή αποσφαλμάτωσης "γιατί δεν κολλάει;".
Η γνώση του πεδίου εφαρμογής του περιεχομένου και της παγίδας overflow είναι αυτό που σας επιτρέπει να το χρησιμοποιήσετε αξιόπιστα.