0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

SCSS: Còn Cần Thiết Trong Thế Giới CSS Hiện Đại?

Đăng vào 1 tháng trước

• 4 phút đọc

SCSS: Còn Cần Thiết Trong Thế Giới CSS Hiện Đại?

CSS đã trải qua rất nhiều thay đổi trong những năm qua. Chúng ta không viết CSS giống như năm 2010 hay những năm trước đó. Các trình duyệt, phần cứng và công cụ đã có những cải tiến lớn. Các framework hiện đại xuất hiện, và Internet đã trở thành một công cụ phổ biến trong xã hội. Chúng ta phát triển ứng dụng cho nhiều thiết bị với kích thước màn hình khác nhau, và chúng phải hoạt động hiệu quả (thực sự là một cơn đau đầu tuyệt vời).

CSS là một phần không thể thiếu trong cuộc sống của một lập trình viên Frontend. Chúng ta đã thử viết CSS với các bộ tiền xử lý như SCSS và LESS, vì chúng hướng đến mục tiêu:

Viết CSS sạch hơn và nhanh hơn trước đây.

Nhưng giờ đây, tôi có một câu hỏi:

Chúng Ta Có Còn Cần Một Bộ Tiền Xử Lý Như SCSS Không?

Tôi đã dành thời gian để tìm hiểu câu hỏi này, và tôi muốn chia sẻ với bạn. Hãy cùng phân tích.

Những Gì CSS Hiện Đại Có Thể Làm

  • Nesting: CSS hiện đại đã hỗ trợ nesting. SCSS không còn là cách duy nhất để viết các selector lồng nhau.

  • Biến (CSS Custom Properties): Khác với biến SCSS, biến CSS là động trong thời gian chạy.

  • Cascade Layers & Thay Thế @import: Điều này giải quyết vấn đề "cuộc chiến độ ưu tiên CSS" và làm cho việc import trở nên mạnh mẽ hơn trong SCSS.

  • Container Queries & Subgrid: Hãy tưởng tượng bạn có một thành phần card với hình ảnh, tiêu đề và mô tả. Bạn muốn định dạng văn bản thay đổi dựa trên chiều rộng của card, chứ không phải chiều rộng của toàn bộ trang.

  • Các Hàm Màu Trong CSS:

    • color-mix(): trộn hai màu.
    • lab(), lch(), oklab(): xác định màu trong các không gian màu đồng nhất về cảm nhận.

Tại sao điều này quan trọng:

  1. Dễ dàng tạo ra các bảng màu hài hòa và dễ tiếp cận.
  2. Màu sắc trông nhất quán trên các trình duyệt và thiết bị khác nhau.
  3. Bạn có thể điều chỉnh màu sắc một cách động trong CSS mà không cần một bộ tiền xử lý (không cần SCSS).

Những Nơi SCSS Vẫn Thắng Lợi

SCSS vẫn có những lợi thế, và chúng rất hữu ích:

  • Mixin và Functions: Bạn có thể viết logic tái sử dụng với chúng, điều mà CSS thuần không có.
  • Bạn có thể chia nhỏ CSS thành các phần dễ bảo trì. Điều này giúp quản lý file dễ dàng hơn.
  • Các tính năng như vòng lặp, điều kiện và tính toán là những đặc điểm hữu ích của SCSS.

Quan Điểm Của Tôi Là Một Lập Trình Viên Frontend

CSS hiện đại có thể thay thế hầu hết các tính năng của SCSS, nhưng SCSS đang trở nên ngày càng hẹp hơn. Chúng ta gặp một vấn đề lớn ở đây:

Hỗ trợ trình duyệt.

Một số tính năng CSS hiện đại vẫn chưa được hỗ trợ trong các trình duyệt, và điều này tạo ra vấn đề đối với các dự án quy mô lớn, quốc tế và doanh nghiệp. Bởi vì, không phải tất cả người dùng đều cập nhật trình duyệt của họ, và chúng ta đang phải đối mặt với nhiều người dùng và thiết bị khác nhau. Chúng ta phải dự đoán và đáp ứng nhu cầu của hầu hết người dùng.

Đối với các dự án quy mô lớn, chúng ta cần sử dụng logic nâng cao như vòng lặp hoặc mixin phức tạp. Có thể chúng ta có thể xử lý điều đó bằng CSS, nhưng SCSS có hỗ trợ tốt cho việc này, và đó là sự thật.

Tôi không nói bạn phải loại bỏ SCSS ra khỏi cuộc sống phát triển của mình và triển khai dự án của bạn bằng CSS hiện đại, vì:

SCSS vẫn chưa chết.

Giống như jQuery, vẫn hữu ích, nhưng không còn là lựa chọn mặc định nữa.

Kết Luận

Bạn nghĩ sao? Bạn vẫn đang sử dụng SCSS hay đã chuyển hoàn toàn sang CSS thuần? Hãy cho tôi biết ý kiến của bạn!

Thực Hành Tốt Nhất

  • Sử dụng CSS hiện đại khi có thể, nhưng không quên SCSS cho các tình huống cần thiết.
  • Luôn kiểm tra độ tương thích của các tính năng CSS mới với các trình duyệt.

Những Cạm Bẫy Thường Gặp

  • Không thử nghiệm với các tính năng mới trước khi đưa vào sản xuất.
  • Quá phụ thuộc vào SCSS, dẫn đến khó khăn trong việc chuyển đổi sang CSS hiện đại.

Mẹo Tối Ưu Hiệu Suất

  • Sử dụng các công cụ như PostCSS để chuyển đổi CSS hiện đại thành CSS tương thích hơn với các trình duyệt cũ.
  • Tối ưu hóa kích thước file CSS bằng cách loại bỏ các đoạn mã không cần thiết.

Khắc Phục Sự Cố

  • Nếu bạn gặp lỗi khi sử dụng CSS hiện đại, hãy kiểm tra xem trình duyệt có hỗ trợ tính năng đó hay không.
  • Đảm bảo rằng bạn đã cấu hình chính xác cho SCSS trước khi biên dịch.

Câu Hỏi Thường Gặp

  • SCSS có còn cần thiết không?
    • Nó vẫn hữu ích cho các dự án cần logic phức tạp và hỗ trợ trình duyệt.
  • Khi nào nên sử dụng CSS hiện đại?
    • Khi bạn phát triển cho các dự án nhỏ hoặc khi hỗ trợ trình duyệt không phải là vấn đề lớn.

Tài Nguyên Tham Khảo

Hãy khám phá thêm và áp dụng những kiến thức này vào dự án của bạn!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào