0

Giải Phóng Đôi Tay: Múa Phím Bằng Emmet CSS & Tư Duy "Code Mờ Ảo"

Chắc hẳn 99% anh em dùng VS Code đều biết gõ ! rồi bấm Tab để sinh ra bộ khung HTML, hoặc gõ ul>li*5 để tạo danh sách. Đó là Emmet cho HTML.

Nhưng có một bí mật mà rất nhiều dev bỏ lỡ: Emmet hỗ trợ CSS còn khủng khiếp hơn HTML gấp 10 lần. Khi bạn làm chủ được Emmet CSS, bạn không còn là thợ gõ phím nữa. Bạn giống như một nhạc công piano. Bạn nghĩ về kết quả (What), và những ngón tay của bạn sẽ gõ ra những ký tự viết tắt (Abbreviations) siêu ngắn để IDE tự động bung ra mã CSS hoàn chỉnh. Tốc độ code CSS của bạn sẽ tăng lên ít nhất 300%.

1. Nguyên Tắc Cơ Bản: Phụ Âm Đầu & Đơn Vị Mặc Định

Emmet CSS hoạt động dựa trên cơ chế Fuzzy Search (Tìm kiếm mờ). Bạn không cần phải nhớ một cú pháp cứng nhắc, bạn chỉ cần gõ những phụ âm đầu tiên của thuộc tính.

Bí kíp 1: Tên thuộc tính

  • m -> Tab -> margin: ;
  • p -> Tab -> padding: ;
  • bg -> Tab -> background: #000;

Bí kíp 2: Tự động điền đơn vị (px là chân ái)

Nếu bạn gõ một chữ cái kèm theo số, Emmet mặc định hiểu đó là Pixel (px).

  • m10 -> margin: 10px;
  • p20-10 -> padding: 20px 10px; (Tuyệt vời chưa!)

Nếu bạn muốn dùng đơn vị khác? Rất dễ:

  • Thêm chữ p (Percent):w100p -> width: 100%;
  • Thêm chữ r (Rem): fz1.5r -> font-size: 1.5rem;
  • Thêm chữ v (Viewport): h100vh -> height: 100vh;

2. Bộ "Khẩu Quyết" Bắt Buộc Phải Thuộc Lòng

Trong hàng ngàn thuộc tính CSS, bạn chỉ cần luyện "phản xạ cơ bắp" với khoảng 15 từ khóa sau đây là đủ cân 80% công việc hàng ngày:

A. Bộ Khung Flexbox (Combo thần thánh) Khỏi cần gõ 3 dòng dài dằng dặc nữa:

  • df -> display: flex;
  • jcc -> justify-content: center;
  • aic -> align-items: center;
  • fdc -> flex-direction: column;

B. Kích Thước & Hộp (Box Model)

  • bxz -> box-sizing: border-box; (Rất hay dùng để reset CSS)
  • maw100p -> max-width: 100%;
  • mih100vh -> min-height: 100vh;

C. Vị Trí (Positioning)

  • pos:a -> position: absolute;
  • pos:r -> position: relative;
  • t0 -> top: 0; (Tương tự b0, l0, r0 cho bottom, left, right)
  • z1 -> z-index: 1;

D. Chữ Nghĩa (Typography)

  • fz16 -> font-size: 16px;
  • fwb -> font-weight: bold; (Hoặc fw700 -> font-weight: 700;)
  • tac -> text-align: center;
  • tdn -> text-decoration: none; (Chuyên trị gạch chân của thẻ a)

3. Trải nghiệm trực quan: Máy Dịch Emmet CSS

Để bạn dễ hình dung sự "ma thuật" này trước khi bật VS Code lên, mình có tạo một công cụ giả lập nhỏ bên dưới. Hãy thử gõ các phím tắt (như df, jcc, m10-20, fz2rem) vào ô input để xem CSS được bung ra như thế nào nhé!

image.png

Lời kết

The Vibe Coder Mindset không phải là việc bạn thuộc bao nhiêu hàm thuật toán phức tạp, mà là cách bạn tối ưu hóa công cụ để làm việc nhàn nhã nhất. Mỗi lần bạn dùng chuột để copy/paste, hoặc gõ từng chữ j-u-s-t-i-f-y..., bạn đang tự làm đứt đoạn dòng chảy suy nghĩ (Flow) của mình.

Hãy ép bản thân dùng Emmet trong 3 ngày, bạn sẽ thấy nó ăn sâu vào phản xạ cơ bắp. Đến lúc đó, code UI không còn là ác mộng nữa.

Chủ đề tiếp theo: Khi Emmet Cũng Trở Nên Lỗi Thời - Tuyên Ngôn Của Tailwind CSS

Bạn đã gõ CSS siêu nhanh bằng Emmet. Nhưng bạn vẫn phải đặt tên class (Naming class) cho thẻ HTML, rồi nhảy sang file .css để viết Emmet, rồi lại nhảy về HTML xem nó áp dụng đúng chưa. Cái vòng lặp "đặt tên - chuyển file - viết code" thực sự rất mệt mỏi!

Làm sao để vứt bỏ hoàn toàn file .css, không bao giờ phải nghĩ tên class ngớ ngẩn như .wrapper-outer-container nữa, mà giao diện vẫn đẹp lung linh? Ở bài viết tới, chúng ta sẽ đàm đạo về "Trùm cuối" của hệ sinh thái Frontend hiện đại: Tailwind CSS. Kẻ thù của những dev bảo thủ, nhưng lại là chân ái tuyệt đối của giới Vibe Coder! Nhớ đón đọc nhé!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí