SASS P4 – Import – Partial – Media – Extend

1. Import & Partial Trong thực tế khi code scss ta thường chia nhỏ ra các file đảm nhiệm các chức năng khác nhau như _colors.scss hay_variables.scss rồi dùng từ khóa @import để gọi vào. $primary-300: #64B5F6;$primary-400: #42A5F5;$primary-600: #1E88E5; $font-size-base: 14px;$font-size-large:ceil(($font-size-base* 1.25));// ~18px$font-size-small:ceil(($font-size-base* 0.85));// ~12px File style.scss để import 2 file ở trên ta viết

1. Import & Partial

Trong thực tế khi code scss ta thường chia nhỏ ra các file đảm nhiệm các chức năng khác nhau như _colors.scss hay_variables.scss rồi dùng từ khóa @import để gọi vào.

$primary-300: #64B5F6;$primary-400: #42A5F5;$primary-600: #1E88E5;
$font-size-base: 14px;$font-size-large:ceil(($font-size-base* 1.25));// ~18px$font-size-small:ceil(($font-size-base* 0.85));// ~12px

File style.scss để import 2 file ở trên ta viết code như sau

@import"variables";@import"colors";.title {font-size:$font-size-small;color:$primary-300;}

Kết quả

.title{font-size: 12px;color: #64B5F6;}

Lưu ý

  • 3 file ở trên nằm cùng cấp ngang hàng với nhau
  • Khi import việc ghi cả đuôi file scss là không cần thiết
  • Ta thấy 2 file _colors.scss_variables.scss có gạch dưới ở phía trước, đó là cách dùng của Partial, điều này có nghĩa SASS sẽ không biên dịch các file đó ra file css

2. Media

Cách viết @media tương tự như viết của CSS, thường dùng khi responsive website

@media(min-width: 1200px){.col-lg-6{width: 50%;}}

3. Extend

Kế thừa các thuộc tính của một selector khác. Sử dụng từ khóa @extend

.btn {display: inline-block;margin-bottom: 0;font-weight: normal;text-align: center;vertical-align: middle;touch-action: manipulation;cursor: pointer;background-image: none;border: 1px solid transparent;white-space: nowrap;padding: 7px 12px;font-size: 13px;line-height: 1.5384616;border-radius: 3px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.btn-primary {@extend .btn;color: #fff;background-color: #2196F3;border-color: #2196F3;}

Kết quả

.btn, .btn-primary{display: inline-block;margin-bottom: 0;font-weight: normal;text-align: center;vertical-align: middle;touch-action: manipulation;cursor: pointer;background-image: none;border: 1px solid transparent;white-space: nowrap;padding: 7px 12px;font-size: 13px;line-height: 1.5384616;border-radius: 3px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.btn-primary{color: #fff;background-color: #2196F3;border-color: #2196F3;}

Vùng chọn %extend sẽ chỉ kế thừa các thuộc tính mà không compile.

%btn{display: inline-block;margin-bottom: 0;font-weight: normal;text-align: center;vertical-align: middle;touch-action: manipulation;cursor: pointer;background-image: none;border: 1px solid transparent;white-space: nowrap;padding: 7px 12px;font-size: 13px;line-height: 1.5384616;border-radius: 3px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.btn-primary {@extend%btn;color: #fff;background-color: #2196F3;border-color: #2196F3;}

Kết quả

.btn-primary{display: inline-block;margin-bottom: 0;font-weight: normal;text-align: center;vertical-align: middle;touch-action: manipulation;cursor: pointer;background-image: none;border: 1px solid transparent;white-space: nowrap;padding: 7px 12px;font-size: 13px;line-height: 1.5384616;border-radius: 3px;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}.btn-primary{color: #fff;background-color: #2196F3;border-color: #2196F3;}

Nguồn: viblo.asia

Bài viết liên quan

7 Cách Tăng Tốc Ứng Dụng React Hiệu Quả Mà Bạn Có Thể Làm Ngay

React là một thư viện JavaScript phổ biến trong việc xây dựng giao diện người d

Trung Quốc “thả quân bài tẩy”: hàng loạt robot hình người!

MỘT CUỘC CÁCH MẠNG ROBOT ĐANG HÌNH THÀNH Ở TRUNG QUỐC Thượng Hải, ngày 13/5 –

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con