By GokiSoft.Com| 18:30 31/05/2020|
Tài Liệu HTML

HTML Style Guide and Coding Conventions - Hướng dẫn về phong cách và quy ước code trong HTML



Một code HTML nhất quán, rõ ràng, gọn gàng khiến cho người khác dễ dàng hiểu code của bạn.




Hãy khôn ngoan và thử thách tương lai


Đây là một vài hướng dẫn và mẹo cho việc tạo một HTML source code tốt.




Sử dụng đúng kiểu tài liệu


Luôn khai báo kiểu tài liệu ở dòng dầu tiên trong tài liệu của bạn.

Kiểu tài liệu chính xác cho HTML là:

<!DOCTYPE html>




Sử dụng các tên thành phần viết thường


HTML cho phép trộn lẫn các chữ cái viết hoa và viết thường trong tên thành phần.

Tuy nhiên, chung tôi khuyến nghị sử dụng tên thành phần viết thường, bởi vì:

  • Trộn lẫn tên viết hoa và viết thường nhìn khá xấu
  • Các nhà phát triển thường sử dụng các tên viết thường
  • Viết thường nhìn rõ ràng hơn
  • Viết thường dễ hơn


Tốt:

<body>
<p>This is a paragraph</p>
</body>


Tệ

<BODY>
<P>This is a paragraph</P>
</BODY>





Đóng toàn bộ thành phần HTML


Trong HTML, bạn không phải đóng toàn bộ các thành phần (ví dụ thành phần  <p>).

Tuy nhiên, chúng tôi khuyến nghị nên đóng toàn bộ các thành phần HMTL, như thế này:


Tốt:

<section>
  <p>This is a paragraph.</p>
  <p>This is a paragraph.</p>
</section>



Tệ

<section>
  <p>This is a paragraph.
  <p>This is a paragraph.
</section>





Sử dụng các tên thuộc tính viết thường


HTML cho phép trộn các chữ cái viết hoa và viết thường trong tên thuộc tính:

Tuy nhiên, chúng tôi khuyến nghị sử dụng tên thuộc tính viết thường,bởi vì:

  • Trộn lẫn tên viết hoa và viết thường nhìn khá xấu
  • Các nhà phát triển thường sử dụng các tên viết thường
  • Viết thường nhìn rõ ràng hơn
  • Viết thường dễ hơn


Tốt:

<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>


Tệ

<a HREF="https://www.w3schools.com/html/">Visit our HTML tutorial</a>





Luôn dùng dấu nháy với các giá trị thuộc tính


HTML cho phép các giá trị thuộc tính không có dấu nháy.

Tuy nhiên, chúng tôi khuyến nghị sử dụng dấu nháy với các giá trị thuộc tính, bởi vì:

  • Các nhà phát triển thường sử dụng dấu nháy cho các giá trị thuộc tính
  • Các giá trị đặt trong dấu nháy dễ đọc hơn
  • Bạn PHẢI sử dụng các dấu nháy nếu các giá trị chứa các khoảng trắng


Tốt:

<table class="striped">


Tệ:

<table class=striped>


Rất tệ:

Điều này sẽ không hoạt động, bởi vì giá trị chứa các khoảng trắng:

<table class=table striped>





Luôn xác định alt, width, và height cho các hình ảnh


Luôn xác định thuộc tính  alt cho các hình ảnh. Thuộc tính này quan trọng nếu hình ảnh trong một vài lý do không thể được hiển thị.

Đồng thởi, luôn xác định với width và height của các hình ảnh. Điều này giảm thiểu sự nhấp nháy, bởi vì trình duyệt có thể giữ khoảng trống cho hình ảnh trước khi tải về.


Tốt:

<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">


Xấu:

<img src="html5.gif">





Các khoảng trắng và dấu bằng


HTML cho phép các khoảng trắng xung quanh các dấu bằng. Nhưng ít khoảng trắng dễ đọc và nhóm các thực thể với nhau tốt hơn.

Tốt:

<link rel="stylesheet" href="styles.css">


Tệ:

<link rel = "stylesheet" href = "styles.css">





Tránh sử dụng các dòng code dài


Khi sử dụng một trình soạn thảo HTML, nó KHÔNG thuận tiện cho việc kéo sang trái và phải để đọc code HTML.

Cố gắng tránh các dòng code quá dài.




Dòng bỏ trống và lùi đầu dòng


Không thêm các dòng bỏ trống, các khoảng trắng, hoặc lùi đầu dòng mà không có lý do.

Cho khả năng đọc tốt, thêm các dòng bỏ trống để ngăn cách các khối code lớn hoặc logic.

Cho khả năng đọc tốt, thêm hai khoảng spaces lùi đầu dòng. Đừng sử dụng nút tab.

Tốt:

<body>

<h1>Famous Cities</h1>

<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
and the most populous metropolitan area in the world.
It is the seat of the Japanese government and the Imperial Palace,
and the home of the Japanese Imperial Family.</p>

</body>


Tệ:

<body>

  <h1>Famous Cities</h1>

  <h2>Tokyo</h2>

  <p>
    Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
    and the most populous metropolitan area in the world.
    It is the seat of the Japanese government and the Imperial Palace,
    and the home of the Japanese Imperial Family.
  </p>

</body>



Ví dụ một bảng chuẩn:

<table>
  <tr>
    <th>Name</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>A</td>
    <td>Description of A</td>
  </tr>
  <tr>
    <td>B</td>
    <td>Description of B</td>
  </tr>
</table>



Ví dụ một danh sách chuẩn:

<ul>
  <li>London</li>
  <li>Paris</li>
  <li>Tokyo</li>
</ul>





Không bao giờ bỏ qua thành phần <title>


Thành phần <title> là bắt buộc trong HTML.

Nội dung của một tiêu đề trang rất quan trọng cho việc tối ưu hóa các công cụ tìm kiếm (SEO)! Tiêu đề trang được sử dụng bởi các thuật toán của công cụ tìm kiếm để quyết định thứ tự khi sắp xếp các trang trên các kết quả tìm kiếm.

Thành phần <title> :

  • xác định một tiêu đề trong thanh công cụ trình duyệt
  • cung cấp một tiêu đề cho trang khi nó được thêm vào mục yêu thích
  • hiển thị một tiêu đề cho trang trong các kết quả của công cụ tìm kiếm

Vì thế, cố gắng làm tiêu đề chính xác và có ý nghĩa nhất có thể:

<title>HTML Style Guide and Coding Conventions</title>





Bỏ quả <html> và <body>?


Một trang HTML sẽ hợp lệ mà không có các thẻ  <html> và <body> :

ví dụ

<!DOCTYPE html>
<head>
  <title>Page Title</title>
</head>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>
<!DOCTYPE html>
<head>
  <title>Page Title</title>
</head>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>


Tuy nhiên, chúng tôi khuyến nghị hãy luôn thêm các thẻ <html> và<body> !

Thành phần  <html> là gốc của tài liệu, vàlà  nơi được đề xuất cho việc xác định ngôn ngữ trang. Xác định ngôn ngữ trang khá quan trọng cho khả ứng dụng trợ năng (đọc màn hình) và các công cụ tìm kiếm.

Bỏ qua  <body> có thể tạo ra các lỗi trong các trình duyệt cũ hơn.

Bỏ qua  <html> và <body> cũng có thể phá DOM và phần mềm XML.


ví dụ

<!DOCTYPE html>
<html lang="en-us">
<head>
  <title>Page Title</title>
</head>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>
<!DOCTYPE html>
<html lang="en-us">
<head>
  <title>Page Title</title>
</head>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>





Bỏ quả <head>?


Thẻ <head> cũng có thể bị bỏ qua.

Các trình duyệt sẽ thêm tất cả các thành phần trước <body>, vào thành phần <head> mặc định.

ví dụ

<!DOCTYPE html>
<html>
<title>Page Title</title>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>
<!DOCTYPE html>
<html>
<title>Page Title</title>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>


Tuy nhiên chúng tôi khuyến nghị sử dụng thẻ  <head> .




Đóng thành phần HTML rỗng?


Trong HTML, việc đóng các thành phần rỗng là tùy chọn.

Cho phép:

<meta charset="utf-8">



Cũng được cho phép:

<meta charset="utf-8" />



Nếu bạn mong muốn phần mềm XML/XHTML truy cập trang của bạn, giữ xược đóng (/), bởi vì nó là bắt buộc tronng XML và XHTML.




Siêu dữ liệu


Để đảm bảo giải thích đúng và cho vị trí trong công cụ tìm kiếm chính xác, cả hai ngôn ngữ và kí tự mã hóa nên được xác định càng sớm càng tốt trong một tài liệu HTML:

<!DOCTYPE html>
<html lang="en-us">
<head>
  <meta charset="UTF-8">
  <title>Page Title</title>
</head>





Cài đặt khung nhìn


Khung nhìn là khu vực hiển thị cho người dùng trên trang web. Nó khác trên từng thiết bị - nó có thể nhỏ hơn trên điện thoại so với màn hình máy tính.

Bạn nên bao gồm thành phần  <meta> sau trong toàn bộ các trang web của bạn:

<meta name="viewport" content="width=device-width, initial-scale=1.0">


Điều này đưa cho trình duyệt một hướng dẫn cách điều khiển kích thước và tỉ lệ của trang.

Phần width=device-width đặt width của trang theo width của màn hình thiết bị (điều này sẽ khác nhau phụ thuộc vào thiết bị).

Phần intial-scale=1.0 đặt mức thu phòng ban đầu của trang khi nó được tải lần đầu tiên bởi trình duyệt.




Các chú thích HTML


Các chú thích ngắn nên được viết trên một dòng, như thế này:

<!-- This is a comment -->


Các chú thích chiếm nhiều hơn một dòng, nên được viết như thế này:

<!--
  This is a long comment example. This is a long comment example.
  This is a long comment example. This is a long comment example.
-->


Các chú thích dài dễ hơn cho việc quan sát nếu chúng lùi hai khoảng đầu dòng.





Sử dụng các dải phong cách


Sử dụng các cú pháp đơn giản để liên kết đến các dải phong cách (các thuộc tính phong cách là không cần thiết):

<link rel="stylesheet" href="styles.css">


Các quy tắc CSS ngắn có thể được viết nén, như thế này:

p.intro {font-family:Verdana;font-size:16em;}


Các quy tắc CSS dài nên được viết trên nhiều dòng:

body {
  background-color: lightgrey;
  font-family: "Arial Black", Helvetica, sans-serif;
  font-size: 16em;
  color: black;
}


  • Đặt dấu ngoặc mở trên cùng một dòng với bộ chọn
  • Sử dụng một dấu cách trước dấu ngoặc mở
  • Sử dụng hai dấu cách cho lùi đầu dòng
  • Sử dụng dấu chấm phẩy sau một cặp property-value, bao gồm cái cuối cùng
  • Chỉ sử dụng các dấu nháy xung quanh các giá trị nếu giá trị chứa các khoảng trắng
  • Đặt dấu ngoặc đóng trên một dòng mới, mà không có các khoảng trắng ở đầu





Tải xuống JavaScript trong HTML


Sử dụng một cú pháp đơn giản cho việc tải xuống các script bên ngoài (các thuộc tính phong cách là không cần thiết):

<script src="myscript.js">





Truy cập các thành phần HTML bằng JavaScript


Sử dụng code HTML "không gọn gàng" có thể dẫn tới một kết quả là các lỗi JavaScript.

Hai câu lệnh JavaScript sau sẽ dẫn đến các kết quả khác nhau:

ví dụ

getElementById("Demo").innerHTML = "Hello";

getElementById("demo").innerHTML = "Hello";
<!DOCTYPE html>
<html>
<body>

<p id="Demo">This is paragraph 1.</p>
<p id="demo">This is paragraph 2.</p>

<script>
// Only paragraph 2 will be overwritten
document.getElementById("demo").innerHTML = "HELLO.";
</script>

</body>
</html>





Sử dụng các tên file viết thường


Một vài sever web (Apache, Unix) phân biệt hoa thường với các tên file: "london.jpg" không thể được truy cập bằng "London.jpg".

Một vài sever web khác (Microsoft IIS) không phân biệt hoa thường : "london.jpg" có thể được truy cập bằng "London.jpg".

Nếu bạn sử dụng trộn lẫn giữa chữ hoa và chữ thường, bạn phải phòng bị điều này.

Nếu bạn di chuyển từ một sever không phân biệt hoa thường thành một phân biệt hoa thường, kể cả một lỗi nhỏ có thể làm hỏng web của bạn!

Để tránh các vấn đề này, luôn sử dụng các tên file viết thường!




Phần mở rộng của file


File HTML nên có một phần mở rộng là .html hoặc .htm.

Các file CSS nên có một phần mở rộng  .css.

File JavaScript nên có một phần mở rộng là .js.




Sự biệt giữa .htm và .html?


Không có sự khác biệt gì giữa các phần mở rộng file .htm và .html!

Cả hai sẽ được xem như HTML bởi mọi trình duyệt web và sever web.




Các tên file mặc định


Khi một đường dẫn không xác định một tên file ở cuối, sever sẽ thêm một tên file mặc định, như là "index.html", "default.html", hoặc "default.htm".

Nếu sever được cấu hình chỉ với "index.html" là tên mặc định, tên file của bạn phải được đặt là "index.html", và không phải "default.html".

Tuy nhiên, các sever có thể được cấu hình với nhiều hơn một tên file mặc định, và thông thường bạn có thể đặt nhiều tên mặc định nếu cần.