logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Cẩm nang chia sẻ kiến thức

Oct - 2020

02

Dùng Emmet để Code HTML/CSS nhanh hơn

Cẩm nang chia sẻ kiến thức

Tác giả: Jesse Hall

Emmet là một trong những tính năng built-in ưa thích của mình với text editor VS Code, và nó cũng là extension có sẵn trên các nền tảng code editor khác. Với Emmet, bạn có thể đẩy nhanh tốc độ làm việc HTML & CSS, thậm chí còn được xem là cheat-code.

Dùng Emmet trong HTML

Với Emmet thì việc tạo một HTML boilerplate diễn ra trong nháy mắt. Với HTML file, chỉ cần type ! bạn sẽ thấy Emmet hiển thị các gợi ý, sau đó chỉ việc Enter là đã có sẵn trang HTML blank cơ bản. Đây mình mới chỉ đang demo vài khả năng của VS Code và Emmet nên nếu chưa hiểu thì không sao, cứ đọc tiếp nhé.

Các tag cơ bản

Để tạo các thẻ – tag HTML thì chỉ cần gõ tên thẻ và Enter. Emmet sẽ đặt con trỏ chuột trong thẻ đó, lúc này có thể tiếp tục type bên trong thẻ rồi.

  • Thử type div sau đó Enter, hoặc h1 Enter, hoặc p Enter.
  • Ngoài ra thì cũng có: bq cho <blockquote>, hdr cho <header>, ftr cho <footer>, btn cho <button> và sect cho section.

Classes

Nếu bạn đã quen với CSS thì Emmet cũng dùng cách tương tự, dấu . để refer đến class. Để define class với thẻ thì chỉ cần thêm như thế này:

  • div.wrapper -> <div class="wrapper"></div>
  • hq.header.center -> <h1 class="header center"><h1>

ID’s

Làm với ID thì cũng khá tương tự:

  • div#hero -> <div id = "hero"></div>

Ghép chuỗi

Ghép 2 cái trên thì ta có:

  • div#hero.wrapper -> <div id = "hero" class = "wrapper"></div>

Attributes – thuộc tính

Ta cũng có thể chỉ định attribute cho tag:

  • img[ src = "cat.jpg" ][ alt = "Cute cat pic" ] -> <img src = "cat.jpg" alt = "Cute cat pic" />

Content – nội dung

Để “bọc” content trong tag, chỉ cần bỏ chúng giữa 2 dấu ngoặc { }

  • p {This is a paragraph} -> <p> This is a paragraph </p>

Siblings & Children

Tương tự với siblings và children thì dùng ký tự dấu cộng + và dấu lớn hơn >

  • section+section -> <section></section><section></section>
  • ul>li -><ul><li></li></ul>

Climbing up

Hình dung những gì đang build trong đầu vì lúc này bạn đang type tốc ký Emmet. Ví dụ này thì mình đang leo cây với ^.

div+div>p>span+em^bq

Kết quả

 

 

Ở đây mình muốn để blockquote nó xuất hiện ngang hàng – same level với paragraph. Vì thế nên mới cần climb up, nếu không thì blockquote sẽ bị nhét vào trong paragraph.

Nhóm

Nếu cấu trúc phức tạp thì bạn có thể nhóm thẻ – group tag thay vì dùng climb up. Ví dụ này mình tạo header và footer (không climb) sử dụng ngoặc đơn ( ).

div>(header>ul>il>a)+footer>p

Kết quả

 

 

Phép nhân và ký hiệu $

Bạn có thể tạo tag theo cấp số nhân bằng (*) và đánh số các items theo thứ tự với ký hiệu dollar ($).

  • ul>li*5-> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
  • ul>li{ Item $}*3 -><ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul>

Thậm chí bạn có thể customize luôn thứ tự đánh số chứa chữ số 0, bắt đầu với số xác định và có thể đảo ngược lại.

Đệm số 0: ul>li.item$$$*5

Kết quả:

 

 

Bắt đầu bằng một số xác định: ul>li.item$@3*5

Kết quả:

 

 

Đảo hướng: ul>li.item$@-*5

Kết quả:

 

 

Đảo hướng từ một số xác định: ul>li.item$@-3*5

Kết quả:

 

 

Tag ngầm

Có một số thẻ tag không cần type ra mà có thể ngầm hiểu:

  • Một class lúc đầu không có tag thì sẽ được hiểu là <div>.

.wrapper -> <div class = "wrapper"></div>

  • Class với thẻ emphasis sẽ được hiểu là <span>.

em>.emphasis -> <em><span class = "emphasis"></span></em>

  • Class xác định bên trong list sẽ được hiểu là list item.

ul>.item -> <ul><li class = "item"></li></ul>

  • Class xác định trong table được hiểu là <tr> còn trong row thì là <td>

table>.row>.col -> <table><tr class = "row"><td class = "col"> </td></tr></table>

“Kẹp” Tag

Có lúc bạn muốn kẹp thẻ tag vào những đoạn code có sẵn, Emmet có thể dễ dàng làm việc này. Đầu tiên, highlight đoạn code bạn cần add tag, và mở command pallet (F1) lên, search Emmet: Wrap with Abbreviation. Sau đó sẽ có dialog box để gõ element vào.

test -> <div>test</div>

Ngoài cách này thì cũng có thể dùng cú pháp Emmet tiêu chuẩn trong dialog này, wrap đoạn text với span.wrapper. Chức năng này không được gán vào phím tắt. Nên nếu bạn dùng tính năng này thường xuyên thì nên add shortcut cho nó.

Lorem Ipsum

“Lorem Ipsum” là đoạn text fake rất phổ biến được dùng để hiển thị random các giá trị dữ liệu trên trang. Chỉ cần gõ lorem bấm Enter. Emmet sẽ tạo ra 30 từ ngẫu nhiên có thể dùng để dàn nội dung trong project.

Bạn cũng có thể tự cho số lượng chữ theo nhu cầu.

  • lorem10 sẽ cho bạn 10 từ random .

Gộp chung lại

Thử gộp chung những điều ở trên lại: ul.my-list>lorem10.item-$*5

Kết quả

 

 

Dùng Emmet trong CSS

Với CSS, thì Emmet có từng cái viết tắt cho từng property, mình sẽ không liệt kê chúng ra hết nhưng sẽ đưa ra những trường hợp được dùng nhiều nhất. Bạn có thể xem full list tại đây.

Position

  • pos —> position:relative; (mặc định relative)
  • pos:s —> position:static;
  • pos:a —> position:absolute;
  • pos:r —> position:relative;
  • pos:f —> position:fixed;

Hiển thị

  • d —> display:block; (mặc định block)
  • d:n —> display:none;
  • d:b —> display:block;
  • d:f —> display:flex;
  • d:if —> display:inline-flex;
  • d:i —> display:inline;
  • d:ib —> display:inline-block;

Cursor

  • cur —> cursor:pointer;

Màu

  • c —> color:#000;
  • c:r —> color:rgb(0, 0, 0);
  • c:ra —> color:rgba(0, 0, 0, .5);
  • op —> opacity: ;

Margin & Padding: Đệm lề

  • m —> margin: ;
  • m:a —> margin:auto;
  • mt —> margin-top: ;
  • mr —> margin-right: ;
  • mb —> margin-bottom: ;
  • ml —> margin-left: ;
  • p —> padding: ;
  • pt —> padding-top: ;
  • pr —> padding-right: ;
  • pb —> padding-bottom: ;
  • pl —> padding-left: ;

Box Size

  • bxz —> box-sizing:border-box;

Chiều rộng

  • w —> width: ;
  • h —> height: ;
  • maw —> max-width: ;
  • mah —> max-height: ;
  • miw —> min-width: ;
  • mih —> min-height: ;

Canh lề

  • bd —> border: ;
  • bd+ —> border:1px solid #000;
  • bd:n —> border:none;

Kết luận

Với Emmet bạn có thể tạo nên cấu trúc HTML phức tạp với chỉ một dòng, với CSS cũng làm được những điều tương tự. Tóm lại, Emmet khá đỉnh, dùng Emmet có thể giúp nâng cao năng suất và tốc độ viết HTML và CSS.

Devmaster Academy via freecodecamp

Các bài viết cùng chủ đề

BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI ❤
BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI...
5 Phương pháp hay để mở rộng các dự án React của bạn một cách dễ dàng
5 Phương pháp hay để mở rộng các dự án React của b...
Lab06.1 - Data Access In ASPNET MVC 5
Lab06.1 - Data Access In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET M...
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hành
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hàn...
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015