Ghi chú kỹ thuật của zhaoJian

Khóa học IT HTML Cơ bản 015_Tính năng mới HTML5

Học tập / HTML Cơ bản ~10752 từ · 27 phút đọc - lượt xem

Tính năng mới HTML5

HTML5 là phiên bản mới nhất của HTML, giới thiệu nhiều thẻ, thuộc tính và chức năng mới, tăng cường đáng kể chức năng và tính tương tác của web.

Một số tính năng mới thú vị trong HTML5:

  • Phần tử canvas để vẽ đồ họa
  • Phần tử video và audio để phát phương tiện
  • Hỗ trợ tốt hơn cho lưu trữ ngoại tuyến cục bộ
  • Các phần tử nội dung đặc biệt mới như article, footer, header, nav, section
  • Các điều khiển biểu mẫu mới như calendar, date, time, email, url, search

<canvas>

Phần tử <canvas> HTML5 được sử dụng để vẽ đồ họa trên trang web. Phần tử <canvas> dựa trên API vẽ JavaScript và có thể được sử dụng để tạo các loại đồ họa khác nhau, bao gồm biểu đồ, đồ họa, hoạt ảnh, v.v.

Ví dụ:

<canvas width="500" height="500">
Trình duyệt của bạn không hỗ trợ thẻ canvas HTML5.
</canvas>
<script>
const canvas = document.querySelector("canvas");
// Lấy ngữ cảnh vẽ
const ctx = canvas.getContext("2d");
// Vẽ hình tròn
ctx.beginPath();
ctx.arc(250, 250, 100, 0, 2 * Math.PI);
ctx.fillStyle = "yellow";
ctx.fill();
</script>

Hiệu ứng:

Hiệu ứng ví dụ


<svg>

Phần tử SVG HTML5 được sử dụng để tạo đồ họa SVG trên trang web. Đồ họa SVG là đồ họa vector dựa trên XML, có thể thu phóng không mất chất lượng, phù hợp cho nhiều mục đích khác nhau:

Các phần tử SVG bao gồm:

  • Phần tử <svg>: Định nghĩa phần tử gốc của đồ họa SVG.
  • Phần tử <path>: Định nghĩa hình dạng đường dẫn.
  • Phần tử <rect>: Định nghĩa hình dạng hình chữ nhật.
  • Phần tử <circle>: Định nghĩa hình dạng hình tròn.
  • Phần tử <ellipse>: Định nghĩa hình dạng hình elip.
  • Phần tử <line>: Định nghĩa đường thẳng.
  • Phần tử <polygon>: Định nghĩa đa giác.
  • Phần tử <polyline>: Định nghĩa đường gấp khúc.
  • Phần tử <text>: Định nghĩa văn bản.
  • Phần tử <g>: Định nghĩa nhóm để nhóm các phần tử SVG lại với nhau.
  • Phần tử <defs>: Định nghĩa thuộc tính toàn cục có thể áp dụng cho nhiều phần tử SVG.

Ví dụ:

<svg width="500" height="500">
<circle cx="250" cy="250" r="100" fill="yellow" />
</svg>

Hiệu ứng:

Hiệu ứng ví dụ

SVG và Canvas đều là công cụ để tạo đồ họa trên trang web. Mỗi loại có ưu điểm và nhược điểm riêng, phù hợp cho các tình huống khác nhau.

SVG là đồ họa vector dựa trên XML, có thể thu phóng không mất chất lượng. Điều này có nghĩa là đồ họa SVG có thể hiển thị ở bất kỳ kích thước nào mà không mất chất lượng. Đồ họa SVG cũng có thể được thao tác và tạo hoạt ảnh bằng CSS và JavaScript.

Canvas là API vẽ dựa trên JavaScript, có thể tạo đồ họa bitmap. Điều này có nghĩa là đồ họa Canvas không thể thu phóng không mất chất lượng, nhưng có thể tạo đồ họa phức tạp hơn bằng JavaScript. Đồ họa Canvas cũng có thể được thao tác và tạo hoạt ảnh bằng JavaScript.

Sự khác biệt cụ thể giữa SVG và Canvas:

Đặc điểmSVGCanvas
Loại hình ảnhVectorBitmap
Thu phóngKhông mất chất lượngMất chất lượng
Loại đồ họaHình chữ nhật, hình tròn, đường dẫn, v.v.Bất kỳ
Thao tácCSS, JavaScriptJavaScript
Hoạt ảnhCSS, JavaScriptJavaScript
Kích thước tệpThường nhỏ hơnThường lớn hơn
Khả năng truy cậpXuất sắcBình thường
  • SVG phù hợp cho:

    • Đồ họa cần thu phóng không mất chất lượng, như biểu tượng, logo, minh họa
    • Đồ họa cần thao tác và tạo hoạt ảnh bằng CSS và JavaScript
  • Canvas phù hợp cho:

    • Các tình huống cần tạo đồ họa phức tạp, như trò chơi, hoạt ảnh
    • Các tình huống cần thao tác phức tạp bằng JavaScript

Biểu mẫu HTML5

HTML5 giới thiệu một số loại đầu vào và thuộc tính mới để tăng cường chức năng và khả năng sử dụng của biểu mẫu.

Các phần tử biểu mẫu mới:

  • Phần tử <datalist>: Được sử dụng cho danh sách tùy chọn được xác định trước cho phần tử <input>.

Ví dụ:

<label for="browser">Chọn trình duyệt:</label>
<input list="browsers" id="browser" name="browser" autocomplete="off">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
<option value="Edge">
<option value="Opera">
</datalist>

Hiệu ứng:

Hiệu ứng ví dụ

Phần tửMô tả
<datalist>Định nghĩa danh sách tùy chọn được xác định trước cho phần tử <input>.
<output>Biểu thị kết quả của một phép tính.
<keygen>Tạo cặp khóa cho biểu mẫu, thường được sử dụng để trao đổi khóa.
<progress>Định nghĩa thanh tiến trình cho bất kỳ loại tác vụ nào.
<meter>Đo giá trị vô hướng hoặc phân số trong phạm vi đã biết.

Các thuộc tính biểu mẫu mới:

  • Thuộc tính autocomplete <form> / <input>: Chỉ định xem biểu mẫu hoặc trường nhập có nên có chức năng tự động hoàn thành hay không. Khi người dùng bắt đầu nhập vào trường tự động hoàn thành, trình duyệt sẽ hiển thị các tùy chọn đã điền.

Ví dụ:

<form action="demo-form.php" autocomplete="on">
Họ:<input type="text" name="fname"><br>
Tên:<input type="text" name="lname"><br>
Email:<input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>

Hiệu ứng:

Hiệu ứng ví dụ

Thuộc tínhMô tả
autocompleteChỉ định xem trường nhập có nên bật tự động hoàn thành hay không.
novalidateNgăn trình duyệt xác thực biểu mẫu.
formChỉ định biểu mẫu mà phần tử <input> thuộc về, liên kết nó với một biểu mẫu cụ thể.
formactionChỉ định URL sẽ sử dụng khi gửi biểu mẫu.
formenctypeChỉ định loại mã hóa sẽ sử dụng khi gửi biểu mẫu (ví dụ: application/x-www-form-urlencoded hoặc multipart/form-data).
formmethodChỉ định phương thức HTTP sẽ sử dụng khi gửi biểu mẫu (ví dụ: get hoặc post).
formnovalidateVô hiệu hóa xác thực biểu mẫu của trình duyệt khi gửi.
formtargetChỉ định cửa sổ hoặc khung mục tiêu để mở sau khi gửi biểu mẫu.
heightĐặt chiều cao của phần tử <input type="image">.
widthĐặt chiều rộng của phần tử <input type="image">.
listChỉ định id của phần tử <datalist> được liên kết với phần tử <input> hoặc <textarea>.
minChỉ định giá trị tối thiểu của phần tử <input>.
maxChỉ định giá trị tối đa của phần tử <input>.
patternĐịnh nghĩa biểu thức chính quy để xác thực trường nhập khi gửi biểu mẫu.
placeholderCung cấp gợi ý ngắn cho trường nhập, chỉ hiển thị khi trường trống.
requiredChỉ định xem trường nhập có bắt buộc hay không.
stepChỉ định khoảng số hợp lệ cho phần tử <input>.

Các loại input mới:

<form action="/submit" method="post">
<label for="name">Họ tên:</label>
<input type="text" id="name" required />
<br>
<label for="email">Địa chỉ email:</label>
<input type="email" id="email" required />
<br>
<label for="birthday">Ngày sinh:</label>
<input type="date" id="birthday" required />
<br>
<label for="phone">Số điện thoại:</label>
<input type="tel" id="phone" required />
<br>
<input type="submit" value="Gửi" />
</form>

Hiệu ứng:

Hiệu ứng ví dụ

LoạiMục đích
colorDùng để nhập giá trị màu.
dateDùng để nhập giá trị ngày.
datetime-localDùng để nhập giá trị ngày và giờ.
emailDùng để nhập địa chỉ email.
fileDùng để tải lên tệp.
monthDùng để nhập giá trị tháng.
numberDùng để nhập giá trị số.
rangeDùng để nhập giá trị phạm vi.
searchDùng để nhập chuỗi tìm kiếm.
telDùng để nhập số điện thoại.
timeDùng để nhập giá trị thời gian.
urlDùng để nhập địa chỉ URL.

[!Tóm tắt]

Phần tửMục đíchKhuyến nghị
Các phần tử mới
<canvas>Định nghĩa đồ họa như biểu đồ và các hình ảnh khác. Thẻ này dựa trên API vẽ JavaScript.Khuyến nghị
<audio>Định nghĩa nội dung âm thanhKhuyến nghị
<video>Định nghĩa video (video hoặc movie)Khuyến nghị
<source>Định nghĩa tài nguyên đa phương tiện cho <video><audio>Khuyến nghị
<track>Định nghĩa phụ đề hoặc bản dịch cho âm thanh hoặc videoKhuyến nghị
<datalist>Định nghĩa danh sách tùy chọn. Sử dụng với phần tử input để định nghĩa các giá trị input có thể.Khuyến nghị
<keygen>Chỉ định trường tạo cặp khóa cho biểu mẫu.Khuyến nghị
<output>Định nghĩa các loại đầu ra khác nhau, như đầu ra script.Khuyến nghị
<article>Định nghĩa vùng nội dung độc lập trên trang.Khuyến nghị
<aside>Định nghĩa nội dung thanh bên cho trang.Khuyến nghị
<bdi>Cho phép bạn đặt một đoạn văn bản tách khỏi cài đặt hướng văn bản của phần tử cha.Khuyến nghị
<dialog>Định nghĩa hộp thoại.Khuyến nghị
<figure>Định nghĩa vùng chứa hình ảnh hoặc nội dung trực quan khác.Khuyến nghị
<footer>Định nghĩa vùng chân trang của trang hoặc phần.Khuyến nghị
<header>Định nghĩa vùng đầu trang của trang hoặc phần.Khuyến nghị
<main>Định nghĩa vùng nội dung chính của trang.Khuyến nghị
<mark>Định nghĩa văn bản quan trọng hoặc được đánh dấu.Khuyến nghị
<meter>Định nghĩa tiến trình hoặc phạm vi giá trị.Khuyến nghị
<nav>Định nghĩa vùng điều hướng của trang hoặc phần.Khuyến nghị
<progress>Định nghĩa thanh tiến trình.Khuyến nghị
<time>Định nghĩa ngày hoặc giờ.Khuyến nghị
<wbr>Cho phép chèn ký tự có thể ngắt dòng trong văn bản.Khuyến nghị
Các phần tử không dùng nữa hoặc không khuyến nghị
<acronym>Định nghĩa từ viết tắt. Cân nhắc sử dụng phần tử <abbr> thay thế.Khuyến nghị
<applet>Định nghĩa applet Java. Cân nhắc sử dụng JavaScript hoặc các công nghệ hiện đại khác thay thế.Không khuyến nghị
<basefont>Đặt kích thước và màu phông chữ mặc định cho tất cả văn bản trên trang. Cân nhắc sử dụng CSS để tạo kiểu văn bản.Không khuyến nghị
<big>Đặt kích thước phông chữ của văn bản. Cân nhắc sử dụng CSS để tạo kiểu văn bản.Không khuyến nghị
<center>Buộc văn bản căn giữa. Cân nhắc sử dụng CSS để căn chỉnh văn bản.Không khuyến nghị
<dir>Định nghĩa danh sách thư mục. Cân nhắc sử dụng phần tử <ul> thay thế.Không khuyến nghị
<font>Đặt kích thước, màu, kiểu phông chữ của văn bản, v.v. Cân nhắc sử dụng CSS để tạo kiểu văn bản.Không khuyến nghị
<frame>Định nghĩa khung. Cân nhắc sử dụng phần tử iframe thay thế.Không khuyến nghị
<frameset>Định nghĩa bộ khung. Cân nhắc sử dụng phần tử iframe thay thế.Không khuyến nghị
<noframes>Cung cấp nội dung thay thế cho trình duyệt không hỗ trợ khung. Cân nhắc sử dụng JavaScript để phát hiện hỗ trợ khung và hiển thị/ẩn nội dung tương ứng.Không khuyến nghị
<strike>Đặt gạch ngang văn bản. Cân nhắc sử dụng CSS để tạo kiểu văn bản.Không khuyến nghị
<tt>Đặt phông chữ đơn cách cho văn bản. Cân nhắc sử dụng CSS cho phông chữ văn bản.Không khuyến nghị
Chia sẻ:

Bình luận