Cờ `!default` trong SASS
Bài viết này giải thích về cờ !default trong SASS.
Chúng tôi sẽ giải thích chi tiết về cờ !default và hướng dẫn cách sử dụng nó qua các ví dụ thực tế.
YouTube Video
Cờ !default trong SASS
Cờ !default trong SASS là một công cụ quan trọng giúp tăng tính mô-đun và khả năng tái sử dụng cho các stylesheet. Bằng cách sử dụng cờ này, bạn có thể đặt giá trị mặc định cho các biến, đồng thời cho phép giá trị được định nghĩa ở nơi khác ghi đè giá trị mặc định này. Tại đây, chúng tôi sẽ giải thích chi tiết về cờ !default và ví dụ cách sử dụng nó trong thực tế.
Cờ !default là một tính năng riêng của SASS dùng để đặt giá trị mặc định cho các biến. Khi thêm cờ này, bạn sẽ nhận được các hành vi sau:.
-
Chỉ định giá trị mặc định Giá trị chỉ được đặt nếu biến chưa được định nghĩa ở nơi khác.
-
Kiểm soát thứ tự ưu tiên Nếu biến đã được định nghĩa trước đó, giá trị của biến sẽ không bị ghi đè.
Tính năng này đặc biệt hữu ích khi xây dựng các module và thư viện. Người dùng có thể đặt giá trị tùy chỉnh, nhưng nếu không, giá trị mặc định sẽ được sử dụng.
Ví dụ cơ bản
Đoạn mã sau minh họa cách sử dụng cơ bản của cờ !default.
1// _variables.scss
2$primary-color: blue !default;- Định nghĩa biến mặc định
$primary-colorbằng cờ!default.
1// main.scss
2@use 'variables' with (
3 $primary-color: red
4);
5
6body {
7 background-color: variables.$primary-color;
8}- Nhập các biến bằng
@usevà ghi đè$primary-colorbằngwith.
CSS xuất ra
1body {
2 background-color: red;
3}- Trong ví dụ này, vì
$primary-colorđược đặt thànhredtrongmain.scss, nên giá trịblueđược định nghĩa trong_variables.scsssẽ không được sử dụng.
Khi một biến chưa được định nghĩa
Nếu biến không được định nghĩa trong main.scss, giá trị mặc định sẽ được sử dụng.
1// main.scss
2@use 'variables';
3
4body {
5 background-color: variables.$primary-color;
6}- Vì biến được nhập mà không ghi đè, nên giá trị mặc định
bluecủa$primary-colorđịnh nghĩa trong_variables.scsssẽ được áp dụng.
CSS xuất ra
1body {
2 background-color: blue;
3}Cách sử dụng trong các module lồng nhau
Sử dụng !default trong các module giúp việc tùy chỉnh trở nên linh hoạt.
1// _variables.scss
2$primary-color: blue !default;
3$button-color: blue !default;- Định nghĩa
$primary-colorvà$button-colorvới cờ!default.
1// _buttons.scss
2@use 'variables';
3
4.button {
5 color: variables.$button-color;
6}- Nhập module
variablesvà xác định màu sắc của.buttonbằng biến$button-color.
1// main.scss
2@use 'variables' with (
3 $button-color: orange
4);
5
6@use 'buttons';- Sử dụng
@usevớiwithđể ghi đè$button-colorthànhorange, và sử dụng modulebuttons.
CSS xuất ra
1.button {
2 color: orange;
3}- Bằng cách này, các module cung cấp giá trị mặc định nhưng vẫn tôn trọng các cài đặt do người dùng định nghĩa.
Những điểm cần lưu ý
Khi sử dụng cờ !default, bạn nên chú ý các điểm sau:.
-
Chọn giá trị mặc định phù hợp Nên chọn giá trị mặc định phù hợp với hầu hết các trường hợp sử dụng thông thường.
-
Thiết kế có chủ đích Nên sử dụng tên biến nhất quán và tránh xung đột với các module khác.
-
Kiểm tra thứ tự Để cờ
!defaulthoạt động đúng, bạn cần quản lý thứ tự ghi đè biến một cách chính xác.
Tình huống thực tế
Chuyển đổi chủ đề
Ví dụ, khi tạo một thư viện hỗ trợ nhiều chủ đề (theme), bạn có thể sử dụng !default để cung cấp các giá trị mặc định có thể tùy chỉnh.
1// _theme.scss
2$background-color: white !default;
3$text-color: black !default;
4
5body {
6 background-color: $background-color;
7 color: $text-color;
8}- Định nghĩa
$background-colorvà$text-colorvới cờ!defaultcho giao diện, và áp dụng chúng cho thẻbody.
1// main.scss
2@use 'theme' with (
3 $background-color: #f0f0f0
4);- Tùy chỉnh giao diện bằng cách ghi đè
$background-colorqua@usevàwith.
CSS xuất ra
1body {
2 background-color: #f0f0f0;
3 color: black;
4}Thành phần tái sử dụng
Trong một thành phần nút (button) tái sử dụng, bạn có thể cung cấp kiểu dáng mặc định nhưng cho phép người dùng đổi màu sắc nếu muốn.
1// _buttons.scss
2$button-bg: #007bff !default;
3$button-color: #ffffff !default;
4
5.button {
6 background-color: $button-bg;
7 color: $button-color;
8 padding: 0.5em 1em;
9 border-radius: 4px;
10}- Định nghĩa màu nền và màu chữ mặc định cho nút bằng
!defaultvà áp dụng các kiểu.
1// main.scss
2@use 'buttons' with (
3 $button-bg: #28a745
4);- Tùy chỉnh màu nút bằng cách ghi đè
$button-bgvới@usevàwith.
CSS xuất ra
1.button {
2 background-color: #28a745;
3 color: #ffffff;
4 padding: 0.5em 1em;
5 border-radius: 4px;
6}Tóm tắt về cờ !default
Cờ !default trong SASS là một công cụ mạnh mẽ khi xây dựng các module và thư viện. Nó giúp tăng khả năng tái sử dụng đồng thời cho phép tùy biến linh hoạt.
Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.