Manuel Matuzović là nhà phát triển giao diện người dùng đến từ Vienna, người đam mê khả năng tiếp cận, nâng cao tiến bộ, hiệu suất và tiêu chuẩn web. Anh ấy là một trong … Thông tin thêm về Manuel ↬
Bản tin email
Email [đập vỡ] của bạn
Mẹo hàng tuần về giao diện người dùng & UX.
Được hơn 200.000 người tin cậy.
Sign Up
Ghi chú. Truy cập tài liệu Emmet để tìm hiểu cách sử dụng cú pháp viết tắt
Nếu chúng tôi cần viết tắt cụ thể này thường xuyên, chúng tôi có thể lưu nó dưới dạng một đoạn trích để cải thiện quy trình làm việc của mình hơn nữa
{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Bây giờ chúng ta có thể gõ
7 và nhấn Enter hoặc Tab và chúng ta sẽ nhận được kết quả tương tự. Tôi sẽ giải thích cách tạo đoạn trích trong{ "html": { "snippets": { "img:l": "img[width height loading='lazy']" } } }
Emmet đi kèm với một loạt các đoạn mã HTML theo mặc định. Ví dụ:
8 tạo cấu trúc cơ bản của tài liệu HTML{ "html": { "snippets": { "img:l": "img[width height loading='lazy']" } } }
Document
Điều đó thật tuyệt, nhưng nếu chúng tôi muốn điều chỉnh đoạn mã này bằng cách xóa hoặc thêm các thành phần và thuộc tính, chúng tôi phải ghi đè lên đoạn mã đó và tạo đoạn mã của riêng mình
Tạo và ghi đè đoạn mã
Nếu chúng tôi muốn tạo đoạn mã Emmet của riêng mình hoặc ghi đè lên đoạn mã hiện có trong Mã VS, thì cần thực hiện các bước sau
- Tạo đoạn trích. json, hãy thêm cấu trúc JSON cơ bản này và lưu nó ở đâu đó trên đĩa cứng của bạn.
______7 - Mở cài đặt Mã VS [Mã → Tùy chọn → Cài đặt] và tìm kiếm “Đường dẫn tiện ích mở rộng Emmet”
Sign Up 1
9 + Enter/Tab tạo đánh dấu sau
3Sign Up
Chữ viết tắt đó khá dài, vì vậy hãy chia nhỏ nó thành các phần nhỏ hơn
Phá vỡ
Tạo phần tử
5 và phần tử con
8
6Sign Up
Di chuyển lên, trở lại mức của
5 và tạo một
7 theo sau
6
0{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Đặt điểm dừng tab cuối cùng trong
7 và đặt văn bản mặc định thành
17Sign Up
0{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
dẫn đường
Chữ viết tắt
18 chỉ tạo thẻ bắt đầu và thẻ kết thúcSign Up
19 theo mặc định, nhưng những gì tôi thường cần là mộtSign Up
19 với các phần tử và liên kếtSign Up
31,Sign Up
32 lồng nhau [Sign Up
33]. Nếu có nhiều phần tửSign Up
19 trên một trang, chúng cũng phải được gắn nhãn, ví dụ bằng cách sử dụngSign Up
35Sign Up
1{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Điều đó có vẻ hoang đường, vì vậy hãy phá vỡ nó một lần nữa
Phá vỡ
Chúng tôi bắt đầu với một phần tử
19 với một thuộc tínhSign Up
35 và mộtSign Up
31 lồng nhau.Sign Up
39 điền thuộc tính bằng văn bản “Main” và tạo một điểm dừng tab tại giá trị thuộc tính bằng cách di chuyển con trỏ đến nó và tô sáng nó khi tạoSign Up
2{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Sau đó, chúng tôi tạo bốn mục danh sách với các liên kết lồng nhau. Mục đầu tiên đặc biệt vì nó đánh dấu trang đang hoạt động bằng cách sử dụng
60. Chúng tôi tạo một điểm dừng tab khác và điền vào liên kết bằng văn bản “Trang hiện tại”Sign Up
3{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Cuối cùng, chúng tôi thêm ba mục danh sách khác có liên kết và văn bản liên kết “Trang khác”
4{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Trước khi chuyển thể, chúng tôi đã nhận được điều này
5{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Bây giờ chúng tôi nhận được điều này
6{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓
Gặp gỡ “TypeScript trong 50 bài học”, hướng dẫn mới tuyệt vời của chúng tôi về TypeScript. Với các hướng dẫn chi tiết về mã, các ví dụ thực hành và các vấn đề phổ biến — tất cả được chia thành các bài học ngắn, dễ quản lý. Đối với những nhà phát triển biết đủ JavaScript để trở nên nguy hiểm
Chuyển đến mục lục ↬Sign Up
61 mặc định chỉ tạo thẻ bắt đầu và thẻ kết thúc
62, nhưng thông thường khi tôi sử dụng phần tửSign Up
62, tôi làm điều đó vì tôi muốn nhanh chóng kiểm tra hoặc gỡ lỗi thứ gì đóSign Up
Hãy thêm một số quy tắc mặc định vào thẻ
62Sign Up
7{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Phá vỡ
Một số nhân vật [e. g.
65,Sign Up
66,Sign Up
67 hoặcSign Up
68] phải được thoát bằng cách sử dụngSign Up
69Sign Up
8{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
________ 300 tạo ngắt dòng và
01 đặt điểm dừng tab đầu tiên tại bộ chọn{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
66Sign Up
9{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Trước.
03{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Sau.
______60
Được rồi, khởi động thế đủ rồi. Hãy tạo các đoạn mã phức tạp. Lúc đầu, tôi muốn tạo một đoạn mã duy nhất cho bản soạn sẵn của mình, nhưng tôi đã tạo ba từ viết tắt phục vụ các nhu cầu khác nhau
nồi hơi nhỏ
Đây là một bản soạn sẵn cho các bản trình diễn nhanh, nó tạo ra những điều sau đây
- Cấu trúc trang web cơ bản,
- Thẻ meta
04,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Tiêu đề trang,
- phần tử
62,Sign Up
- Một
8
1Document
Phá vỡ
Một chuỗi với loại tài liệu
2Document
Phần tử
07 với thuộc tính{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
08. Giá trị của thuộc tính{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
08 là một biến bạn có thể thay đổi trong cài đặt mã VS [Mã → Tùy chọn → Cài đặt]{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
3Document
Bạn có thể thay đổi ngôn ngữ tự nhiên mặc định của trang bằng cách tìm kiếm “biến emmet” trong cài đặt Mã VS và thay đổi biến
08. Bạn cũng có thể thêm các biến tùy chỉnh của mình tại đâySign Up{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
06 tạo một dòng mới{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
4Document
Hãy có một cái nhìn nhanh đầu tiên về những gì điều này mang lại cho chúng ta
5Document
Có vẻ ổn, nhưng chữ viết tắt
07 tạo ra cách cũ trong HTML để xác định{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
02 và{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
09 tạo ra hai điểm dừng tab mà tôi không cần vì tôi không bao giờ sử dụng cài đặt khác cho{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
04{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
Hãy ghi đè lên những đoạn trích này trước khi chúng ta tiếp tục
6Document
Cuối cùng nhưng không kém phần quan trọng, phần tử
11, một{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
8 với văn bản mặc định, theo sau là dấu tab cuối cùng
7Document
Bản mẫu cuối cùng
8Document
Đối với tôi, đó là thiết lập sửa lỗi tối thiểu hoàn hảo
nồi hơi trung bình
Mặc dù tôi chỉ sử dụng bản soạn sẵn đầu tiên cho các bản trình diễn nhanh, nhưng bản soạn sẵn thứ hai có thể được sử dụng cho các trang phức tạp. Đoạn mã tạo ra như sau
- Cấu trúc trang web cơ bản,
- Thẻ meta
04,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Tiêu đề trang,
- Lớp học
14/{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
15,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Màn hình bên ngoài và biểu định kiểu in,
- Thẻ meta
16 và{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
17,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- cấu trúc trang
9Document
Vâng, tôi biết, điều đó có vẻ vô nghĩa. Hãy mổ xẻ nó
Phá vỡ
18 và phần tử gốc giống như trong ví dụ đầu tiên, nhưng có thêm lớp{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
19 và nhận xét nhắc tôi thay đổi thuộc tính{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
08, nếu cần{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
0{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Tiện ích TODO Highlight làm cho nhận xét thực sự nổi bật
5 bao gồm thẻ meta{ "html": { "snippets": { "img:l": "img[width height loading='lazy']" } } }
02, thẻ meta{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
04,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
04.{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
06 tạo một dòng mới{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
1{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Một tập lệnh có một dòng JavaScript. Tôi đang cắt mù tạt ở phần hỗ trợ mô-đun JS. Nếu một trình duyệt hỗ trợ các mô-đun JavaScript, điều đó có nghĩa là trình duyệt đó hỗ trợ JavaScript hiện đại [e. g. mô-đun, cú pháp ES 6, tìm nạp, v.v.]. Tôi chỉ gửi hầu hết JS cho các trình duyệt này và tôi sử dụng lớp
26 trong CSS, nếu kiểu dáng của một thành phần khác, khi JavaScript đang hoạt động{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
2{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Hai phần tử
27;{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
3{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Mô tả trang
4{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Thẻ meta
17{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
5{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Phần tử nội dung và cấu trúc trang cơ bản
6{ "html": { "snippets": { } }, "css": { "snippets": { } } }
Bản tóm tắt cuối cùng trông như thế này
7{ "html": { "snippets": { } }, "css": { "snippets": { } } }
đầy đủ nồi hơi
Bản mẫu đầy đủ tương tự như bản mẫu thứ hai;
Đoạn mã tạo ra như sau
- Cấu trúc trang web cơ bản,
- Thẻ meta
04,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Tiêu đề trang,
- Lớp học
26/{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
19,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Màn hình bên ngoài và biểu định kiểu in,
16 và mở các thẻ meta biểu đồ,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- Thẻ meta
17,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- thẻ
27 chuẩn,{ "html": { "snippets": { "signup": "p>a{Sign Up}" } } }
- thẻ yêu thích,
- Cấu trúc trang,
- Bảng lệnh
- Trước.
- Tạo đoạn trích. json, hãy thêm cấu trúc JSON cơ bản này và lưu nó ở đâu đó trên đĩa cứng của bạn.