Emmet viết tắt trong HTML là gì

Sử dụng Emmet để cải thiện quy trình làm việc bằng cách tăng tốc mã hóa và chỉnh sửa trong các tệp [X]HTML, CSS, XML, XSL và JSP. Emmet tăng tốc độ mã hóa bằng cách chuyển đổi các từ viết tắt thành các khối mã có cấu trúc và cải thiện việc chỉnh sửa với điều hướng và lựa chọn mã tốt hơn.  

Tính năng này có trong MyEclipse, CodeMix và Angular IDE

MyEclipse

Java EE IDE cho nhà phát triển ngăn xếp đầy đủ

CodeMix

Plugin Eclipse cho nhà phát triển web hiện đại

IDE góc cạnh

IDE độc lập cho nhà phát triển góc

Sử dụng Emmet

Để truy cập các lệnh Emmet, nhấp chuột phải vào trình chỉnh sửa, chọn Emmet rồi chọn một lệnh Emmet. Hoặc, sử dụng phím tắt được gán cho lệnh Emmet. Nếu bạn thích các phím tắt khác nhau, bạn có tùy chọn chỉnh sửa các tổ hợp phím trong Window>Preferences>General> Keys

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õ

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}
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

Emmet đi kèm với một loạt các đoạn mã HTML theo mặc định. Ví dụ:

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}
8 tạo cấu trúc cơ bản của tài liệu HTML

________số 8_______

Đ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

  1. Tạo một đ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
    {
      "html": {
        "snippets": {
        }
      },
      "css": {
        "snippets": {
        }
      }
    }
    
  2. 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”
  3. Nhấp vào "Thêm mục", nhập đường dẫn đến thư mục mà bạn đã lưu các đoạn trích. json mà bạn đã tạo trước đó và nhấn “OK”

Đó là nó. Bây giờ chúng ta đã sẵn sàng để tạo các đoạn trích bằng cách thêm các thuộc tính vào các đối tượng

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}
9 và

0 trong đó

1 là tên của đoạn trích và

2 là chữ viết tắt hoặc một chuỗi

Một số đoạn mã HTML tùy chỉnh của tôi

Trước khi chúng ta đi sâu vào việc tạo đoạn trích và tôi sẽ chỉ cho bạn cách tôi tạo một đoạn mã cho bản tóm tắt HTML của mình, trước tiên chúng ta hãy làm nóng với một số đoạn mã nhỏ nhưng hữu ích mà tôi đã tạo.

tải chậm

Ra khỏi hộp, có một chữ viết tắt


3, nhưng không có chữ viết tắt nào dành cho hình ảnh được tải chậm. Chúng ta có thể sử dụng chữ viết tắt mặc định và chỉ cần thêm các thuộc tính và giá trị thuộc tính bổ sung mà chúng ta cần trong ngoặc vuông

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}


4 + Enter/Tab hiện tạo đánh dấu sau


Trang

Hầu hết các trang tôi tạo bao gồm các mốc đánh dấu


5,

6 và

7 và một

8. Chữ viết tắt

9 tùy chỉnh cho phép tôi tạo cấu trúc đó một cách nhanh chóng

"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}


9 + Enter/Tab tạo đánh dấu sau


  

©

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

header>h1

Di chuyển lên, trở lại mức của


5 và tạo một

7 theo sau

6

^main+footer

Đặt điểm dừng tab cuối cùng trong


7 và đặt văn bản mặc định thành
"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
7

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
0

dẫn đường

Chữ viết tắt

"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
8 chỉ tạo thẻ bắt đầu và thẻ kết thúc
"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
9 theo mặc định, nhưng những gì tôi thường cần là một
"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
9 với các phần tử và liên kết

  

©
1,

  

©
2 lồng nhau [

  

©
3]. Nếu có nhiều phần tử
"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
9 trên một trang, chúng cũng nên được gắn nhãn, ví dụ bằng cách sử dụng

  

©
5

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
1

Điều đó có vẻ hoang dã, vì vậy hãy phá vỡ nó một lần nữa

Phá vỡ

Chúng ta bắt đầu với một phần tử

"snippets": {
  "page": "header>h1^main+footer{${0:©}}"
}
9 với thuộc tính

  

©
5 và một

  

©
1 lồng nhau.

  

©
9 đ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ạo

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
2

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

header>h1
0. 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”

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
3

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”

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
4

Trước khi điều chỉnh, chúng tôi đã nhận được điều này

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
5

Bây giờ chúng tôi nhận được điều này

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
6

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 ↬

Phong cách

Chữ viết tắt

header>h1
1 mặc định chỉ tạo thẻ bắt đầu và thẻ kết thúc
header>h1
2, nhưng thông thường khi tôi sử dụng phần tử
header>h1
2, tôi làm điều đó vì tôi muốn nhanh chóng kiểm tra hoặc gỡ lỗi điều gì đó

Hãy thêm một số quy tắc mặc định vào thẻ

header>h1
2

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
7

Phá vỡ

Một số nhân vật [e. g.

header>h1
5,
header>h1
6,
header>h1
7 hoặc
header>h1
8] phải được thoát bằng cách sử dụng
header>h1
9

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
8

^main+footer
0 tạo ngắt dòng và
^main+footer
1 đặt điểm dừng tab đầu tiên tại bộ chọn
header>h1
6

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
9
  • Trước.
    ^main+footer
    
    3
  • Sau đó
    
    
    
      
      
      
      Document
    
    
      
    
    
    
    0

Đượ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,
  • ^main+footer
    
    4 thẻ meta,
  • Tiêu đề trang,
  • header>h1
    
    2 phần tử,
  • Một
    
    
    8




  
  
  
  Document


  


1

Phá vỡ

Một chuỗi với loại tài liệu




  
  
  
  Document


  


2

Phần tử

^main+footer
7 với thuộc tính
^main+footer
8. Giá trị của thuộc tính
^main+footer
8 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]




  
  
  
  Document


  


3

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

^main+footer
8. Bạn cũng có thể thêm các biến tùy chỉnh của mình tại đây

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}
5 bao gồm thẻ meta
{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
02, thẻ meta
^main+footer
4, thẻ
{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
04 và thẻ
header>h1
2.
{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
06 tạo một dòng mới




  
  
  
  Document


  


4

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




  
  
  
  Document


  


5

Có vẻ ổn, nhưng chữ viết tắt

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
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
^main+footer
4

Hãy ghi đè lên những đoạn trích này trước khi chúng ta tiếp tục




  
  
  
  Document


  


6

Cuối cùng nhưng không kém phần quan trọng, phần tử

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
11, một

8 với văn bản mặc định, theo sau là dấu tab cuối cùng




  
  
  
  Document


  


7

Bản mẫu cuối cùng




  
  
  
  Document


  


8

Đố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,
  • ^main+footer
    
    4 thẻ meta,
  • Tiêu đề trang,
  • {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    14/_______5_______15 lớp,
  • Màn hình bên ngoài và biểu định kiểu in,
  • Thẻ meta
    {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    16 và
    {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    17,
  • cấu trúc trang




  
  
  
  Document


  


9

Yeah, tôi biết, điều đó có vẻ vô nghĩa. Hãy mổ xẻ nó

Phá vỡ

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
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
^main+footer
8, nếu cần

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
0

Tiện ích TODO Highlight làm cho nhận xét thực sự nổi bật

{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}
5 bao gồm thẻ meta
{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
02, thẻ meta
^main+footer
4,
{
  "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": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
1

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

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
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": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
2

Hai phần tử

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
27;

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
3

Mô tả trang

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
4

Thẻ meta

{
  "html": {
    "snippets": {
      "signup": "p>a{Sign Up}"
    }
  }
}
17

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
5

Phần tử nội dung và cấu trúc trang cơ bản

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
6

Bản tóm tắt cuối cùng trông như thế này

{
  "html": {
    "snippets": {
    }
  },
  "css": {
    "snippets": {
    }
  }
}
7

đầ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,
  • ^main+footer
    
    4 thẻ meta,
  • Tiêu đề trang,
  • {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    26/
    {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    19 lớp,
  • Màn hình bên ngoài và biểu định kiểu in,
  • {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    16 và mở các thẻ meta biểu đồ,
  • {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    17 thẻ meta,
  • thẻ
    {
      "html": {
        "snippets": {
          "signup": "p>a{Sign Up}"
        }
      }
    }
    
    27 chính tắc,
  • thẻ yêu thích,
  • Cấu trúc trang,

Chủ Đề