Bây giờ có quá nhiều CSS không? Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Hiện có quá nhiều CSS?

Với tư cách là nhà phát triển giao diện người dùng, chúng tôi đã mong muốn rất nhiều thứ trong nhiều năm - cách căn giữa mọi thứ trong CSS, đóng gói kiểu, đặt tỷ lệ khung hình của phần tử, kiểm soát màu sắc chi tiết hơn, chọn phần tử dựa trên nó. thuộc tính của trẻ em, quản lý các lớp cụ thể, cho phép các phần tử phản hồi theo chiều rộng của phần tử cha mẹ của chúng… danh sách này vẫn tiếp tục kéo dài.

Và bây giờ chúng tôi đã có được tất cả những gì mình mong muốn và hơn thế nữa, một số người trong chúng tôi đang hỏi - bây giờ chúng tôi có quá nhiều CSS?

Thời kỳ đen tối

Nếu bạn, giống như tôi, bắt đầu phát triển web từ thời kỳ sơ khai của CSS, thì ý tưởng có quá nhiều thứ trong đó có vẻ lố bịch.

Trước đây, hầu như toàn bộ mô tả công việc của một nhà phát triển front-end bao gồm việc giải quyết các hạn chế của CSS. Các hack Clearfix để xóa phao, Hack đệm 100% để tạo các div vuông, chưa kể đến việc áp dụng các thuộc tính không liên quan một cách bán ngẫu nhiên để lừa Internet Explorer thực hiện việc đặt giá thầu của bạn.

Vào thời điểm đó, trình duyệt là một kẻ thù quỷ quyệt cần phải bị đánh bại thông qua những câu thần chú hết sức xảo quyệt và phức tạp. Ngày nay, thuộc tính hoàn hảo đang chờ đợi và chỉ cần sao chép-dán trên MDN.

Kỷ nguyên mới của CSS

Nhưng ngày nay mọi thứ đã khác rất nhiều: không chỉ mọi thứ chuyển động nhanh hơn nhiều mà cả các nhà cung cấp trình duyệt cũng thực sự quan tâm về việc làm cho các nhà phát triển hài lòng! Tôi biết, tôi cũng không thể tin được. Nhưng tôi điều hành hàng năm Trạng thái CSS khảo sát nhà phát triển (đó là Nhân tiện, hãy mở ngay bây giờ - hãy lấy nó!) và tôi biết thực tế là các nhóm phát triển trình duyệt sử dụng kết quả khảo sát (trong số nhiều điểm dữ liệu khác) để thông báo lộ trình của họ.

Ngoài ra, Google còn hỗ trợ tài chính cho công việc khảo sát của tôi và thậm chí còn thuê Le Verou chủ trì lựa chọn câu hỏi khảo sát năm nay.

Đó không chỉ là Google. Việc chỉ trích Safari và Apple nói chung đã trở thành mốt (đôi khi xứng đáng như vậy), nhưng bạn không thể phủ nhận mức độ đam mê của một người nào đó như thế nào. Jen Simmons là lắng nghe các nhà phát triển và cải thiện web.

Và không chỉ các nhà cung cấp trình duyệt tự cải thiện CSS; họ thậm chí còn hợp tác xuyên suốt chiến tuyến với các sáng kiến ​​như Tương tác 2023 để giúp giảm bớt sự không nhất quán và không tương thích giữa các trình duyệt.

Quá nhiều của một điều tốt?

Kết quả của tất cả những điều này là chúng ta hiện đang phải đối mặt với sự bối rối về sự phong phú của CSS và khó có thể bắt kịp. Lưới CSS bắt đầu được hỗ trợ trong các trình duyệt chính gần năm năm trước, tuy nhiên tôi vẫn kiểm tra tài liệu tham khảo mỗi khi sử dụng nó. Và tuyệt vời như mạng con có vẻ như tôi vẫn chưa thử nó.

Trong quá trình lựa chọn những tính năng CSS nào cần bao gồm hoặc không có trong Trạng thái CSS, Lea và tôi đã cân nhắc nhiều tính năng, nhưng chúng tôi cũng từ chối khá nhiều tính năng. Một số ví dụ về tính năng chúng tôi không bao gồm là:

  • Sản phẩm linear() chức năng nới lỏng, cho phép bạn xác định các đường cong nới lỏng với mức độ chi tiết hơn. 
  • Sản phẩm env() chức năng, cho phép bạn sử dụng các biến do trình duyệt hoặc thiết bị xác định. 
  • Sản phẩm scrollbar-width thuộc tính, giúp kiểm soát giao diện của thanh cuộn. 
  • Sản phẩm margin-trim thuộc tính, cho phép bạn kiểm soát cách hoạt động của lề con của vùng chứa. 

Tất cả những điều này đều có khả năng rất hữu ích và có thể sẽ là tin tức lớn trong đợt hạn hán CSS những năm qua. Nhưng trong bối cảnh ngày nay, họ phải đấu tranh để giành được sự chú ý bằng những thông báo lớn hơn nhiều, như bộ chọn has() hoặc lồng CSS!

Không hào hứng

Như Silvestar Bistrović viết, anh ấy “không hào hứng lắm với tất cả các tính năng CSS mới này.” Điều này đã gây được tiếng vang trên Twitter, với Sara Soueidan nói rằng điều cô ấy quan tâm là “tính thực tế chứ không phải tính năng trông sáng bóng như thế nào vào lúc này”.

Điều này có vẻ giống như một thái độ tiêu cực, nhưng tôi nghĩ nó có thể hiểu được. Không ai có thể mong đợi theo kịp nhiều tính năng mới như vậy!

Một hậu quả không mong muốn khác (hoặc có thể là có chủ đích?) là CSS càng trở nên phức tạp thì nó càng đặt ra nhiều rào cản hơn cho bất kỳ công ty mới nào muốn phát triển một công cụ trình duyệt - chưa nói đến khối lượng công việc tăng thêm khi nói đến việc duy trì và ghi lại tất cả. những tính năng mới này. 

CSS vượt quá phạm vi

Ngoài ra còn có mối lo ngại rất chính đáng rằng CSS có thể phân nhánh sang các lĩnh vực không phù hợp để xử lý. Đó là một điều khác mà Sara Soueidan đã chỉ ra khi phản ứng với việc triển khai thử nghiệm CSS Toggles mới (đây là một vé thảo luận về nó):

Nhiều người đã đưa ra quan điểm rất hợp lý rằng loại hành vi này sẽ được xử lý tốt nhất bằng phần tử HTML mới thay vì quản lý trạng thái chuyển đổi hoàn toàn thông qua CSS và CSS có thể không phải là phương tiện tốt nhất để đảm bảo các vấn đề về khả năng truy cập được giải quyết đúng cách. 

Khi CSS tiếp quản thứ gì đó trước đây được xử lý thông qua JavaScript, điều này thường được coi là một điều tốt vì nó thường làm giảm số lượng mã mà trình duyệt phải tải. Vì vậy, tôi lạc quan một cách thận trọng về CSS Toggles và tin tưởng rằng Nhóm làm việc CSS sẽ giải quyết thỏa đáng mối quan ngại của cộng đồng. Nhưng có thể sẽ đến một ngày chúng ta bắt đầu lo lắng rằng CSS có thể đang mở rộng ra ngoài biên giới và lấn chiếm trách nhiệm của HTML và JavaScript.

Những kỳ vọng mới

Và có lẽ đây là điều cần thay đổi: có lẽ chúng ta nên bỏ đi kỳ vọng mà các nhà phát triển CSS phải biết tất cả các của CSS? 

Kỳ vọng này bắt nguồn từ thời mà CSS chỉ là thứ được nghĩ đến sau, cú pháp hơi khó chịu mà bạn phải học để làm cho nút của mình có màu xanh và đậm giống như khách hàng đã yêu cầu. Nhưng tôi nghĩ chúng ta cần phải chấp nhận rằng CSS ngày nay có thể quá rộng để một người có thể thành thạo, đặc biệt là bên cạnh các nhiệm vụ giao diện người dùng khác.

As Michelle Barker đặt nó:

Và đó là nơi cuối cùng tôi, chính tôi, đáp xuống. Tôi đã chấp nhận sự thật rằng có lẽ tôi sẽ không bao giờ sử dụng — hoặc thậm chí biết về — tất cả các tính năng CSS có thể có. Và điều này đến từ một người thực hiện một cuộc khảo sát về CSS!

Nhưng những tính năng mới này chắc chắn sẽ hữu ích cho một người nào đó. Ai đó sẽ viết bài blog về họ, cùng họ tạo ra những CodePens thú vị, nói chuyện về họ. Người đó sẽ là một lập trình viên ngầu, trẻ trung, năng động và vẫn còn nguyên mái tóc. Nói cách khác, đó sẽ không phải là tôi - và điều đó không sao cả. 

Và có thể bạn lo lắng rằng nhà phát triển mới này sẽ bị choáng ngợp bởi tất cả những thứ họ phải học cùng một lúc. Nhưng hãy ghi nhớ tất cả những điều họ sẽ không phải tìm hiểu, chính xác là vì nó đã được thay thế bởi những lựa chọn thay thế mới hơn này. Tôi biết tôi sẽ thực hiện thỏa thuận đó bất cứ lúc nào.

Nhưng hãy nghĩ mà xem: trong vài năm qua, chúng ta không chỉ chứng kiến ​​sự gia tăng đáng kể về số lượng thiết bị chúng ta cần đáp ứng, mà chúng ta còn bắt đầu nhận ra rằng tất cả chúng ta sử dụng web theo những cách hơi khác nhau, dù là do khuyết tật, bối cảnh hiện tại hoặc chỉ là sở thích cá nhân. CSS có nên thích ứng với thực tế mới này không?

Bây giờ, tôi phải thú nhận rằng tất cả những điều này đã khiến tôi cảm thấy hơi hoài niệm… vì vậy xin thứ lỗi cho tôi khi tôi đi qua một vài chiếc phao, chỉ để cho quên thời xưa thôi.


Như tôi đã đề cập, hàng năm Khảo sát hiện trạng CSS bây giờ đã mở. Cho dù bạn có nghĩ rằng có quá nhiều CSS hay không thì cuộc khảo sát này là một cách tuyệt vời để cho các nhà phát triển trình duyệt biết cảm nhận của bạn, vì vậy điền vào đi nếu bạn có 10 phút. 

Dấu thời gian:

Thêm từ Thủ thuật CSS