Υπάρχει πάρα πολύ CSS τώρα; Ευφυΐα Δεδομένων PlatoBlockchain. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Υπάρχει πάρα πολύ CSS τώρα;

Ως προγραμματιστές front-end, ευχηθήκαμε πολλά πράγματα όλα αυτά τα χρόνια - τρόπους να κεντράρουμε τα πράγματα στο CSS, να ενσωματώνουμε στυλ, να ορίζουμε την αναλογία διαστάσεων ενός στοιχείου, να έχουμε πιο λεπτομερή έλεγχο στα χρώματά μας, να επιλέγουμε ένα στοιχείο με βάση το οι ιδιότητες των παιδιών, διαχειρίζονται επίπεδα ιδιαιτερότητας, επιτρέπουν στα στοιχεία να ανταποκρίνονται στο πλάτος των γονιών τους… η λίστα συνεχίζεται και συνεχίζεται.

Και τώρα που πήραμε όλα όσα επιθυμούσαμε και πολλά άλλα, κάποιοι από εμάς ρωτούν — έχουμε τώρα πάρα πολύ CSS;

Οι σκοτεινοί καιροί

Αν και εσείς, όπως εγώ, σκεφτήκατε την ανάπτυξη ιστού κατά τη βρεφική ηλικία του CSS, η ιδέα να έχετε πάρα πολύ από αυτό φαίνεται γελοία.

Παλιότερα, σχεδόν ολόκληρη η περιγραφή εργασίας ενός προγραμματιστή front-end συνίστατο στην αντιμετώπιση των περιορισμών του CSS. ο clearfix hack να καθαρίζω πλωτήρες, το 100% padding hack για να δημιουργήσετε τετράγωνα div, για να μην αναφέρουμε την ημιτυχαία εφαρμογή άσχετων ιδιοτήτων για να εξαπατήσετε τον Internet Explorer ώστε να κάνει την προσφορά σας.

Εκείνη την εποχή, το πρόγραμμα περιήγησης ήταν ένας ύπουλος εχθρός που έπρεπε να νικηθεί μέσω της καθαρής πονηριάς και των απόκρυφων ξορκιών. Σήμερα, το τέλειο ακίνητο περιμένει και μόνο μια αντιγραφή-επικόλληση στο MDN.

Η νέα εποχή του CSS

Αλλά σήμερα τα πράγματα είναι πολύ διαφορετικά: όχι μόνο τα πράγματα κινούνται πολύ πιο γρήγορα, αλλά και οι προμηθευτές προγραμμάτων περιήγησης πραγματικά νοιάζονται για να κάνετε τους προγραμματιστές χαρούμενους! Ξέρω, ούτε εγώ μπορούσα να το πιστέψω. Αλλά τρέχω το ετήσιο Κατάσταση CSS έρευνα προγραμματιστή (η οποία είναι άνοιξε τώρα παρεμπιπτόντως — πήγαινε να το πάρεις!) και γνωρίζω βεβαίως ότι οι ομάδες ανάπτυξης προγράμματος περιήγησης χρησιμοποιούν τα αποτελέσματα της έρευνας (μεταξύ πολλών άλλων σημείων δεδομένων) για να ενημερώσουν τον οδικό τους χάρτη.

Πέρα από αυτό, η Google βοήθησε επίσης στη χρηματοδότηση της εργασίας μου στην έρευνα, και μάλιστα προσέλαβε Λέα Βέρου να πρωτοστατήσει στην επιλογή των ερωτήσεων της φετινής έρευνας.

Δεν είναι μόνο η Google. Έχει γίνει μόδα να χτυπάς το Safari και την Apple γενικά (μερικές φορές επάξια), αλλά δεν μπορείς να αρνηθείς πόσο παθιασμένος είναι κάποιος σαν Τζεν Σίμονς αφορά την ακρόαση προγραμματιστών και τη βελτίωση του ιστού.

Και όχι μόνο οι προμηθευτές προγραμμάτων περιήγησης βελτιώνουν το CSS από μόνοι τους. συνεργάζονται ακόμη και σε όλες τις γραμμές μάχης με πρωτοβουλίες όπως π.χ Interop 2023 για τη μείωση των ασυνεπειών και των ασυμβατοτήτων μεταξύ των προγραμμάτων περιήγησης.

Πάρα πολύ καλό;

Το αποτέλεσμα όλων αυτών είναι ότι τώρα βρισκόμαστε αντιμέτωποι με μια αμηχανία πλούτου CSS και μπορεί να είναι δύσκολο να το καλύψουμε. Πλέγμα CSS άρχισε να υποστηρίζεται σε μεγάλα προγράμματα περιήγησης πριν από σχεδόν πέντε χρόνια, ωστόσο εξακολουθώ να ελέγχω μια αναφορά κάθε φορά που τη χρησιμοποιώ. Και τόσο cool όσο υποπλέγμα φαίνεται, δεν έχω καν να το δοκιμάσω.

Κατά τη διαδικασία επιλογής ποιες δυνατότητες CSS να συμπεριληφθούν ή όχι στην κατάσταση της CSS, η Lea και εγώ θεωρήσαμε πολλά χαρακτηριστικά, αλλά απορρίψαμε επίσης αρκετά. Μερικά παραδείγματα του χαρακτηριστικού εμείς δεν περιλαμβάνουν είναι:

  • Η linear() λειτουργία χαλάρωσης, που σας επιτρέπει να ορίζετε καμπύλες χαλάρωσης με μεγαλύτερη ευαισθησία. 
  • Η env() λειτουργία, το οποίο σας επιτρέπει να χρησιμοποιείτε μεταβλητές που ορίζονται από το πρόγραμμα περιήγησης ή τη συσκευή. 
  • Η scrollbar-width ιδιότητα, η οποία βοηθά στον έλεγχο της εμφάνισης μιας γραμμής κύλισης. 
  • Η margin-trim ιδιοκτησία, η οποία σας επιτρέπει να ελέγχετε πώς συμπεριφέρονται τα παιδικά περιθώρια ενός κοντέινερ. 

Όλα αυτά είναι δυνητικά πολύ χρήσιμα και θα ήταν όλα μεγάλα νέα κατά τη διάρκεια της ξηρασίας CSS των περασμένων ετών. Αλλά στο σημερινό πλαίσιο πρέπει να παλέψουν για την προσοχή με πολύ μεγαλύτερες ανακοινώσεις, όπως ο επιλογέας has() ή η ένθεση CSS!

Όχι ενθουσιασμένος

Ως Silvestar Bistrović γράφει, δεν είναι τόσο ενθουσιασμένος με όλες αυτές τις νέες δυνατότητες CSS. Αυτό βρήκε απήχηση στο Twitter, με Σάρα Σουεϊντάν δηλώνοντας ότι αυτό που τη νοιάζει είναι «η πρακτικότητα και όχι το πόσο λαμπερό φαίνεται ένα χαρακτηριστικό αυτή τη στιγμή».

Αυτό μπορεί να φαίνεται σαν μια αρνητική στάση, αλλά νομίζω ότι είναι κατανοητό. Κανείς δεν μπορεί να αναμένεται να συμβαδίσει με τόσες πολλές νέες δυνατότητες!

Μια άλλη ακούσια (ή μήπως, σκόπιμη;) συνέπεια είναι ότι όσο πιο περίπλοκο γίνεται το CSS, τόσο περισσότερο ανεβάζει τον πήχη για κάθε νέα εταιρεία που θέλει να αναπτύξει μια μηχανή προγράμματος περιήγησης — για να μην πω τίποτα για τον πρόσθετο φόρτο εργασίας όταν πρόκειται για τη διατήρηση και τεκμηρίωση όλων αυτά τα νέα χαρακτηριστικά. 

Υπέρβαση CSS

Υπάρχει επίσης η πολύ βάσιμη ανησυχία ότι το CSS μπορεί να διακλαδίζεται σε περιοχές που δεν είναι αρκετά κατάλληλο να χειριστεί. Αυτό είναι ένα άλλο πράγμα που επεσήμανε η Sara Soueidan όταν αντιδρούσε στη νέα πειραματική εφαρμογή CSS Toggles (εδώ είναι ένα εισιτήριο που το συζητά):

Πολλοί έχουν υποστηρίξει πολύ εύλογα ότι αυτού του είδους η συμπεριφορά θα μπορούσε να αντιμετωπιστεί καλύτερα από ένα νέο στοιχείο HTML αντί της διαχείρισης της κατάστασης εναλλαγής καθαρά μέσω CSS και ότι το CSS μπορεί να μην είναι το καλύτερο μέσο για να διασφαλιστεί ότι αντιμετωπίζονται σωστά τα ζητήματα προσβασιμότητας. 

Όταν το CSS αναλαμβάνει κάτι που χειριζόταν προηγουμένως μέσω JavaScript, αυτό θεωρείται γενικά καλό, καθώς συχνά μειώνει την ποσότητα του κώδικα που πρέπει να φορτώσει το πρόγραμμα περιήγησης. Επομένως, είμαι προσεκτικά αισιόδοξος για τις εναλλαγές CSS και πιστεύω ότι η Ομάδα Εργασίας CSS θα αντιμετωπίσει σωστά τις ανησυχίες της κοινότητας. Αλλά μπορεί να έρθει ακόμη μια μέρα που αρχίζουμε να ανησυχούμε ότι το CSS μπορεί να επεκτείνεται πέρα ​​από τα σύνορά του και να καταπατήσει τις ευθύνες του HTML και της JavaScript.

Νέες προσδοκίες

Και ίσως αυτό είναι που πρέπει να αλλάξει: ίσως πρέπει να εγκαταλείψουμε την προσδοκία που πρέπει να γνωρίζουν οι προγραμματιστές CSS όλοι του CSS; 

Αυτή η προσδοκία πηγάζει από τις ημέρες όπου το CSS ήταν μια εκ των υστέρων σκέψη, εκείνη η μικρή ενοχλητική σύνταξη που έπρεπε να μάθετε να κάνετε το κουμπί σας μπλε και τολμηρό όπως ζήτησε ο πελάτης. Αλλά νομίζω ότι πρέπει να αποδεχτούμε ότι το σημερινό CSS μπορεί απλώς να είναι πολύ μεγάλο για ένα άτομο να το κατακτήσει, ειδικά επιπλέον των άλλων καθηκόντων στο front-end.

As Μισέλ Μπάρκερ θέτει:

Και εκεί προσγειώνομαι, εγώ ο ίδιος, στο τέλος. Συμφώνησα με το γεγονός ότι πιθανότατα δεν θα χρησιμοποιήσω ποτέ — ούτε θα μάθω — όλες τις πιθανές δυνατότητες CSS. Και αυτό προέρχεται από κάποιον που εκτελεί μια έρευνα σχετικά με το CSS!

Αλλά αυτές οι νέες δυνατότητες θα είναι σίγουρα χρήσιμες κάποιος. Κάποιος θα γράψει αναρτήσεις ιστολογίου για αυτά, θα δημιουργήσει όμορφα CodePens μαζί τους, θα μιλήσει για αυτά. Αυτό το άτομο θα είναι ένας κουλ, νέος, ενεργητικός προγραμματιστής που έχει ακόμα όλα τα μαλλιά του. Με άλλα λόγια, δεν θα είμαι εγώ — και αυτό είναι εντάξει. 

Και ίσως ανησυχείτε ότι αυτός ο νέος προγραμματιστής θα κατακλυστεί από όλα τα πράγματα που πρέπει να μάθουν ταυτόχρονα. Αλλά να έχετε κατά νου όλα τα πράγματα που κάνουν δεν θα πρέπει να μάθουμε, ακριβώς επειδή έχει αντικατασταθεί από αυτές τις νεότερες εναλλακτικές. Ξέρω ότι θα έκανα αυτή τη συμφωνία ανά πάσα στιγμή.

Αλλά σκεφτείτε το: τα τελευταία δύο χρόνια, όχι μόνο έχουμε δει μια τεράστια αύξηση στον αριθμό των συσκευών που πρέπει να εξυπηρετούμε, αλλά έχουμε επίσης αρχίσει να αναγνωρίζουμε ότι όλοι καταναλώνουμε τον ιστό με ελαφρώς διαφορετικούς τρόπους, είτε λόγω σε αναπηρίες, τρέχον πλαίσιο ή απλώς προσωπικές προτιμήσεις. Δεν θα έπρεπε η CSS να προσαρμοστεί σε αυτή τη νέα πραγματικότητα;

Τώρα, οφείλω να ομολογήσω ότι όλο αυτό με έκανε να νιώσω λίγο νοσταλγική… οπότε με συγχωρείτε όσο ξεκαθαρίζω μερικές πτώσεις, για χάρη του παλιού καιρού.


Όπως ανέφερα, το ετήσιο Έρευνα κατάστασης CSS είναι πλέον ανοιχτό. Είτε πιστεύετε ότι υπάρχει πάρα πολύ CSS είτε όχι, η έρευνα είναι ένας πολύ καλός τρόπος για να ενημερώσετε τους προγραμματιστές του προγράμματος περιήγησης πώς νιώθετε. πήγαινε να το συμπληρώσεις αν έχετε 10 λεπτά. 

Σφραγίδα ώρας:

Περισσότερα από Κόλπα CSS