Tin tức và phân tích của tất cả các thiết bị di động

CSS Stylus là gì và cách sử dụng nó?

Khi nói đến phát triển web, cách phổ biến nhất để tạo kiểu cho ứng dụng là sử dụng CSS. Tuy nhiên, CSS có thể gặp rắc rối khi làm việc vì nó rất khó gỡ lỗi.

Tìm hiểu cách sử dụng Stylus CSS và bạn sẽ có một tùy chọn khác, với một trong những bộ tiền xử lý CSS phổ biến nhất hiện có.

Bộ tiền xử lý CSS là gì?

Bộ tiền xử lý CSS là công cụ giúp việc viết CSS dễ dàng hơn. Họ thường biên dịch mã từ cú pháp tùy chỉnh của riêng họ thành định dạng .css mà trình duyệt có thể hiểu được.

Ví dụ: các bộ tiền xử lý CSS như Sass cung cấp các tính năng đặc biệt như vòng lặp, mixin, bộ chọn lồng nhau và câu lệnh if/else. Những tính năng này giúp mã CSS dễ bảo trì hơn, đặc biệt là trong các nhóm lớn.

Để sử dụng bộ xử lý CSS, bạn cần cài đặt trình biên dịch trong môi trường cục bộ và/hoặc máy chủ sản xuất. Một số trình tạo giao diện người dùng, chẳng hạn như Vite, cho phép tích hợp các bộ tiền xử lý CSS như LessCSS vào dự án.

Cách hoạt động của CSS Stylus

Để cài đặt Stylus trong môi trường cục bộ, bạn cần cài đặt Node.js và Node Package Manager (NPM) hoặc Yarn trên máy tính của mình. Chạy lệnh đầu cuối sau:

 npm install stylus 

Hoặc:

 yarn add stylus 

Mỗi tệp CSS Stylus kết thúc bằng phần mở rộng .styl. Sau khi viết mã CSS Stylus, bạn có thể biên dịch nó bằng lệnh này:

 stylus .

Điều này sẽ biên dịch tất cả các tệp .style và tạo các tệp .css trong thư mục hiện tại. Trình biên dịch Stylus cũng cho phép bạn biên dịch các tệp .css thành .styl bằng cờ –css. Để chuyển đổi tệp .css sang định dạng .style, hãy sử dụng lệnh này:

 stylus --css style.css style.styl 

Cú pháp kiểu CSS và bộ chọn gốc

Trong CSS truyền thống, bạn xác định một khối kiểu bằng dấu ngoặc nhọn; không bao gồm các ký tự này sẽ dẫn đến phong cách bị hỏng. Trong CSS Stylus, việc sử dụng dấu ngoặc nhọn là tùy chọn.

Bút stylus hỗ trợ cú pháp giống Python, có nghĩa là bạn có thể xác định các khối bằng cách sử dụng thụt lề:

 .container
    margin: 10px

Khối mã trên biên dịch thành CSS sau:

 .container {
  margin: 10px;
}

Tương tự như các bộ tiền xử lý CSS như Less, bạn có thể tham khảo bộ chọn gốc bằng ký tự &:

 button
    color: white;
    &:hover
        color: yellow;

Biên dịch thành:

 button {
  color: #fff;
}

button:hover {
  color: #ff0;
}

Cách sử dụng biến trong Stylus CSS

Trong các bộ tiền xử lý CSS như Less CSS, các biến được xác định bằng ký hiệu @, trong khi CSS truyền thống sử dụng dấu “–” để xác định một biến.

Bút stylus hơi khác một chút: bạn không cần ký hiệu đặc biệt để xác định một biến. Thay vào đó, chỉ cần xác định biến bằng dấu bằng (=) để liên kết biến đó với một giá trị:

 bg-color = black

Bây giờ bạn có thể sử dụng biến trong tệp .style như sau:

 div
    background-color: bg-color

Các khối mã ở trên biên dịch thành CSS sau:

 div {
  background-color: #000;
}

Bạn có thể xác định một biến null bằng dấu ngoặc đơn. Ví dụ:

 empty-variable = ()

Bạn có thể tham khảo các giá trị thuộc tính khác bằng ký hiệu @. Ví dụ: nếu bạn muốn đặt chiều cao của div thành một nửa chiều rộng của nó, bạn có thể thực hiện như sau:

 element-width = 563px

div
    width: element-width
    height : (element-width / 2)

Điều đó sẽ hiệu quả, nhưng bạn cũng có thể tránh tạo biến hoàn toàn và thay vào đó hãy tham khảo giá trị của thuộc tính width:

 div
    width: 563px
    height: (@width / 2)

Trong khối mã này, ký hiệu @ cho phép bạn tham chiếu đến thuộc tính chiều rộng thực tế của div. Cho dù bạn chọn cách tiếp cận nào, bạn sẽ nhận được CSS sau khi biên dịch tệp .style của mình:

 div {
  width: 563px;
  height: 281.5px;
}

Các chức năng CSS của bút cảm ứng

Bạn có thể tạo các hàm trả về giá trị trong Stylus CSS. Giả sử bạn muốn đặt thuộc tính căn chỉnh văn bản của div thành “giữa” nếu chiều rộng lớn hơn 400 pixel hoặc “trái” nếu chiều rộng nhỏ hơn 400 pixel. Bạn có thể tạo một hàm xử lý logic này.

 alignCenter(n)
    if (n > 400)
        'center'
    else if (n < 200)
        'left'

div {
    width: 563px
    text-align: alignCenter(@width)
    height: (@width / 2)
}

Khối mã này gọi hàm AlignCenter, chuyển giá trị của thuộc tính width bằng cách tham chiếu đến nó bằng ký hiệu @. Hàm AlignCenter kiểm tra xem tham số n của nó có lớn hơn 400 hay không và trả về “center” nếu có. Nếu n nhỏ hơn 200, hàm trả về “trái”.

Khi chạy, trình biên dịch sẽ tạo ra kết quả sau:

 div {
  width: 563px;
  text-align: 'center';
  height: 281.5px;
}

Trong hầu hết các ngôn ngữ lập trình, các hàm gán tham số dựa trên thứ tự bạn nhập chúng. Điều này có thể dẫn đến lỗi do truyền tham số sai thứ tự, càng có nhiều khả năng bạn phải truyền nhiều tham số hơn.

Stylus cung cấp một giải pháp: các tham số được đặt tên. Sử dụng chúng thay vì tham số theo thứ tự khi gọi hàm, ví dụ:

 subtract(b:30px, a:10px)  

Khi nào nên sử dụng bộ tiền xử lý CSS

Bộ tiền xử lý CSS là những công cụ rất mạnh có thể được sử dụng để hợp lý hóa quy trình làm việc của bạn. Chọn công cụ phù hợp cho dự án của bạn có thể giúp tăng năng suất của bạn. Nếu dự án của bạn chỉ yêu cầu một lượng nhỏ CSS thì việc sử dụng bộ tiền xử lý CSS có thể là quá mức cần thiết.

Nếu bạn đang xây dựng một dự án lớn, có thể là thành viên của một nhóm dựa vào lượng CSS khổng lồ, hãy cân nhắc sử dụng bộ tiền xử lý. Họ cung cấp các tính năng như chức năng, vòng lặp và sự kết hợp giúp dễ dàng tạo kiểu cho các thiết kế phức tạp.

Mục lục