You are on page 1of 81

CT428.

Lập Trình Web


Chương 2 - Ngôn Ngữ HTML

Giảng viên: Trần Công Án (tcan@cit.ctu.edu.vn)


https://sites.google.com/site/tcanvn/

Bộ môn Công nghệ thông tin


Khoa Công Nghệ Thông Tin & Truyền Thông
Đại học Cần Thơ

2020
[CT428] Chương 2. Ngôn ngữ HTML

Mục Tiêu

Giới thiệu ngôn ngữ HTML (HyperText Markup Language), ngôn ngữ
đánh dấu siêu băn bản, dùng để tạo các trang web.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 2
[CT428] Chương 2. Ngôn ngữ HTML

Nội Dung

Giới Thiệu HTML

Công cụ tạo trang web

Định nghĩa thông tin chung của trang web

Định nghĩa và định dạng thành phần nội dung

Kết chương

XHTML (Đọc thêm)

HTML5 (Đọc thêm)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 3
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Ngôn Ngữ HTML

Ngôn Ngữ HTML

I ngôn ngữ đánh dấu, dùng để tạo các trang web


I do Tim Berner Lee phát minh và được W3C đưa thành chuẩn năm
1994
I bao gồm một tập các thẻ (tag) cho phép:
I định nghĩa cấu trúc trang web
I định dạng các phần tử thông tin trong trang web
I tạo các siêu liên kết để liên kết đến các trang web khác
I liên kết các đối tượng thông tin khác (hình ảnh, âm thanh, . . . ) vào
trang web

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 4
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Ngôn Ngữ HTML

Mốc Thời Gian Của Các Công Nghệ Web


I 1991: HTML
I 1994: HTML 2
I 1996: CSS1 + JavaScript

I 1997: HTML4 (*)

I 1998: CSS2
I 2000: XHTML 1
I 2002: Tableless Web Design

I 2005: AJAX
I 2009: HTML 5
TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 5
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Ngôn Ngữ HTML

Thẻ (Tag) Trong HTML

I Mỗi thẻ là 1 từ khóa (tên), được bao quanh bởi cặp ngoặc nhọn
và không phân biệt chữ hoa/thường, ví dụ: <html>, <p>, <b>
I Mỗi thẻ HTML thường bao gồm 1 cặp: thẻ mở (bắt đầu định
dạng) và thẻ đóng (kết thúc định dạng)
I Thẻ đóng giống thẻ mở nhưng có thêm ký hiệu / trước tên thẻ, ví
dụ: </html>, </p>, </b>
I Văn bản cần định dạng được đặt giữa thẻ mở và thẻ đóng
I Ví dụ: <p>Đây là một <b>đoạn</b> văn bản</p>
I Khoảng trắng và ký tự xuống dòng sẽ bị bỏ qua

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 6
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Ngôn Ngữ HTML

Thẻ (Tag) Trong HTML

I Các thẻ bao gồm cặp thẻ đóng/mở được gọi là thẻ kép.
I Các thẻ chỉ có thẻ mở được gọi là thẻ đơn.
I Các thẻ có thể lồng nhau nhưng không được chéo nhau, ví dụ:
<p>some text, <b> some more </p> and more</b>
I Một số thẻ có thêm các thuộc tính:
I dùng để chỉ định một số thuộc tính khác liên quan đến thẻ
I nếu có, sẽ được khai báo trong thẻ mở
I ví dụ: <p align=center> (align là 1 thuộc tính, dùng để canh lề
đoạn văn bản)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 7
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Cấu trúc một tài liệu HTML

Tài Liệu HTML

I là một tập tin text có chứa các thẻ HTML


I còn được gọi là một trang web
I có phần mở rộng là .html hoặc .htm
I cú pháp sai, nếu có, thường không bị báo lỗi bởi trình duyệt mà
kết quả sẽ hiển thị không đúng như mong muốn

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 8
[CT428] Chương 2. Ngôn ngữ HTML
Giới Thiệu HTML
Cấu trúc một tài liệu HTML

Cấu Trúc Một Tài Liệu HTML

 
<html>
<head>
<title>The first HTML example</
title>
</head>
I html: định nghĩa 1 tài liệu
<body> html
<p>Welcome to <i>the world</i> of I head: khai báo thông tin
<b>HTML!</b> </p> chung của trang web
</body>
I body: chứa nội dung
</html>
  trang web

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 9
[CT428] Chương 2. Ngôn ngữ HTML
Công cụ tạo trang web

Các Công Cụ Tạo Trang Web

I trình soạn thảo thuần văn bản (text editor):


I dùng trực tiếp thẻ HTML để tạo và trình bày trang web
I phù hợp cho việc học HTML (phải nhớ các thẻ HTML)
I một số chương trình thông dụng: NotePad, NotePad++ (PC),
TextEdit, TextWrangler (Mac), Sublime Text (PC+Mac+Linux)
I các công cụ thiết kế web chuyên nghiệp WYSIWYG:
I thiết kế trang web trực quan, không cần nhớ các thẻ HTML
I công cụ sẽ tự động sinh ra mã HTML tương ứng
I phù hợp cho việc thiết kế web thực tế (tiết kiệm tgian, công sức)
I một số công cụ: Adobe Dreamweaver, CoffeeCup (PC+Mac)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 10
[CT428] Chương 2. Ngôn ngữ HTML
Công cụ tạo trang web

Trình Soạn Thảo Thuần Văn Bản

Text file
(welcome.html)

lưu  

hiển  thị  
file:///<path/>
welcome.html
Text editor
(Sublime Text 2)

Web browser
(Chrome)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 11
[CT428] Chương 2. Ngôn ngữ HTML
Công cụ tạo trang web

Công Cụ Thiết Kế Web - Dreamweaver

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 12
[CT428] Chương 2. Ngôn ngữ HTML
Công cụ tạo trang web

Công Cụ Thiết Kế Web - CoffeeCup

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 13
[CT428] Chương 2. Ngôn ngữ HTML
Công cụ tạo trang web

Công Cụ Thiết Kế Web - CoffeeCup

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 14
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa thông tin chung của trang web

Định Nghĩa Thông Tin Chung Của Trang Web

I các thẻ này được đặt trong cặp thẻ <head> . . . </head>
I các thẻ cơ bản:
I <title>: tiêu đề trang web (xuất hiện trên thanh tiêu đề cửa sổ
trình duyệt hay tab)
I <meta>: dùng để định nghĩa metadata cho trang web như bảng mã
(charset), từ khóa (keywords), . . . Các thuộc tính cơ bản:
I charset: bảng mã của font chữ. VD: <meta charset=“UTF-8”>
I name: định nghĩa một metadata, kết hợp với thuộc tính content.
VD: <meta name=“keywords” content=“html,css,javascript”>
I <base>: đ/nghĩa URL mặc định cho các liên kết trong trang web

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 15
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Định nghĩa thành phần nội dung cơ bản

Định Nghĩa Thành Phần Nội Dung Cơ Bản

I <h1> . . . <h2> (heading): các đề mục từ 1 (cao nhất) đến 6


(thấp nhất).
I <p> (paragraph): định nghĩa 1 đoạn
I <br> (line break): xuống dòng trong cùng paragraph
I <hr> (horizontal line): vẽ 1 đường ngang
I <!-- chú thích -->
Thuộc tính align (=left/right/center): dùng để canh lề cho các phần tử
(element) của các thẻ này.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 16
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Định nghĩa thành phần nội dung cơ bản

Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 17
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Các thẻ định dạng văn bản

Các Thẻ Định Dạng Văn Bản

I <b>, <strong>: đậm


I <i>, <em>: nghiêng
I <u>: gạch dưới
I <small>, <big>: chữ nhỏ/to
I <del>, <strike>: gạch giữa
I <sup>: chỉ số trên
I <sub>: chỉ số dưới
I <pre>: giữ định dạng giống
phần soạn thảo
I các ký tự đặc biệt: &nbsp;
(khoảng trắng), &lt; (<), &gt;
(>), &amp; (&), &quot; (”)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 18
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Danh sách (List)

Danh Sách (List)

I gồm 2 loại:
Danh sách không thứ tự Danh sách có thứ tự
• list item 1 1. list item 1
• list item 2 2. list item 2
I các thẻ dùng để tạo danh sách:
I <ul> (unordered list): tạo một danh sách không thứ tự
I <ol> (ordered list): tạo một danh sách có thứ tự
I <li> (list item): tạo một mục/phần tử trong danh sách
I các danh sách có thể lồng nhau tạo thành danh sách nhiều cấp

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 19
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Danh sách (List)

Các Thuộc Tính Của Danh Sách

I type (<ul>, <ol>): chỉ định kiểu của ký hiệu đánh dấu/số cho
các phần tử trong danh sách
I giá trị cho <ul>: disc (•), circle (◦), square ()
I giá trị cho <ol>: 1, A, a, I, i
I start (<ol>): chỉ định giá trị bắt đầu cho danh sách

type = 1 type = A type = a type = I type = i


1. item 1 A. item 1 a. item 1 I. item 1 i. item 1
2. item 2 B. item 2 b. item 2 II. item 2 ii. item 2
3. item 3 C. item 3 c. item 3 III. item 3 iii. item 3

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 20
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Danh sách (List)

Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 21
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Danh sách (List)

Danh Sách Các Định Nghĩa (Definition List)

I Danh sách các định nghĩa có dạng như sau:

HTML
. a makeup language for creating web pages
HTTP
. an application protocol for the web service

I Các thẻ dùng để tạo danh sách các định nghĩa:


I <dl> (definition list): tạo danh sách cách định nghĩa
I <dt> (definition term): tạo một khái niệm/từ khóa
I <dd> (definition): định nghĩa của khái niệm/từ khóa

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 22
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Tạo Liên Kết

I Liên kết là một từ, nhóm từ, hay hình ảnh mà khi ta click vào sẽ
cho phép chuyển đến một trang web (hay một nguồn tài nguyên)
khác.
I Thẻ tạo liên kết có cú pháp như sau:
<a href=“URL ” target=“...”>đại diện cho l/kết</a>
I thuộc tính href dùng để chi định địa chỉ trang web cần liên kết
I URL có thể là một địa chỉ tuyệt đối hay tương đối (xem Ch1)
I thuộc tính taget dùng để chỉ định nơi sẽ mở tài liệu liên kết:
I _self: mở trong cùng cửa sổ/tab (mặc nhiên)
I _blank: mở trong cửa sổ/tab mới

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 23
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 24
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Liên Kết Trong

I là một liên kết tới một vị trí bên trong một trang web
I vị trí đó phải được “đánh dấu” (bookmark/anchor) bằng thẻ <a>
với thuộc tính name: <a name=“tên bookmark”/>
I liên kết trong tới một vị trí đã được đánh dấu trong cùng tài liệu:
<a href=“#tên bookmark”>đại diện cho lkết </a>
I liên kết tới một bookmark trong một tài liệu khác:
<a href=“URL#tên bookmark”>đại diện cho lkết </a>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 25
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Liên Kết Trong – Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 26
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Liên Kết Đến Các Dịch Vụ Khác

I Một liên kết có thể liên kết đến một nguồn tài nguyên khác ngoài
dịch vụ WWW.
I Sử dụng cú pháp URL dành cho dịch vụ tương ứng. Ví dụ:
I Liên kết đến dịch vụ email (mail client mặc định trên hệ thống):
<a href=“mailto:địa_chỉ_email ”>đại diện cho lkết</a>
I Liên kết đến một tập tin trên một FTP server:
<a href=“ftp://ftp_server/path ”>đại diện cho lkết</a>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 27
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Liên kết (Hyperlink)

Liên Kết Đến Các Dịch Vụ Khác - Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 28
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Hình Ảnh (Image)

I Để hiển thị hình ảnh trong một trang web, ta dùng thẻ <img>:
<img src=“url” alt=“some text” width=“w” height=“h”/>
I src: chỉ định URL của hình ảnh
I alt: text sẽ được hiển thị thay thế hình ảnh nếu có lỗi khi tải hình
ảnh, hoặc text sẽ hiển thị như là một tooltip
I width: chỉ định chiều rộng (ngang) của hình ảnh (pixel)
I height: chỉ định chiều cao của hình ảnh (pixel)
I Hình ảnh sẽ được chèn inline (nằm chung) với text trong
paragraph.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 29
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 30
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Bài Tập

Tạo một trang web có cấu trúc


và định dạng tương tự như sau,
trong đó:
I hình ảnh: figures/bird.jpg
I kích thước hình: rộng 100px
I email: link tới địa chỉ email
của SV

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 31
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Hình Ảnh Dùng Làm Liên Kết

I Sử dụng hình ảnh để làm


liên kết: Đặt thẻ <img>
bên trong cặp thẻ <a>.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 32
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Bản Đồ Ảnh (Image Map)

I Một hình ảnh có thể được chia thành nhiều vùng (area) để tạo liên
kết trên từng vùng
I Tạo một bản đồ ảnh (map, là tập hợp của nhiều vùng):
<map name=“map-name”>định nghĩa các vùng</map>
I Định nghĩa một vùng:
<area shape=“. . . ” coords=“. . . ” href=“url” alt=“text”/>
I shape = {rect, circle, poly}, coords: tọa độ các điểm ĐN vùng
I Khai báo sử dụng bản đồ ảnh cho một hình ảnh:
<img src=“url” . . . usemap=“map-name”/>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 33
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Ví Dụ - Tạo Vùng Cho Ảnh

I http://www.maschek.hu/imagemap
I GIMP
I Adobe Dreamweaver

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 34
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Hình ảnh (Image)

Ví Dụ - Gán Bản Đồ Ảnh Cho Ảnh

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 35
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Bảng (Table)

Bảng (Table)

I Tạo bảng: <table thuộc_tính>


I border: kích thước (width) của đường viền table
I width: độ rộng của table (theo px hoặc %)
I cellpadding: khoảng cách từ nội dung đến đường viền của ô (cell)
I cellspacing: khoảng cách giữa các ô
I Tạo hàng (row) trong table: <tr>định nghĩa các ô</tr>
I Tạo ô (cell) trong một hàng: <td>nội dung ô</td>
I Tạo ô tiêu đề (header) cho table (= cell + đậm): <th>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 36
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Bảng (Table)

Bảng (Table)

I Định dạng cột: <col align=“...” valign=“...” width=“%/pixel”/>


I Một số thuộc tính có thể dùng với các thẻ của table:
I align: canh lề (left/right/center)
I bgcolor: màu nền (tên màu hoặc mã màu)
I Một số thẻ thường dùng khác để tạo table:
I <caption>: tiêu đề của table
I <thead>: nhóm các hàng là tiêu đề của table
I <tfoot>: nhóm các hàng là footer của table
I <tbody>: nhóm các hàng là nội dung của table

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 37
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Bảng (Table)

Ví Dụ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 38
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Bảng (Table)

Gộp (Merge) Các Ô Trong Table

I gộp các ô cùng hàng:


<td colspan=“số ô”>
I gộp các ô cùng cột:
<td rowspan=“số ô”>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 39
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Biểu Mẫu (Form)


I dùng để thu thập dữ liệu của người sử dụng web
I thường k/hợp với một n/ngữ lập trình để xử lý dữ liệu nhập vào:
I client-side: JavaScript, VBScript (ít sử dụng), . . .
I server-side: PHP, APS(.NET), JSP, . . .
I các thành phần cơ bản trong biểu mẫu: text fields, text areas,
drop-down lists, radio buttons, checkboxes, buttons, . . .

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 40
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Tạo Biểu Mẫu

I Tạo một biểu mẫu (BM):


<form name=“fname” action=“tvụ” ...>các tphần của BM</form>
I name: tên của BM, dùng để tham chiếu đến form để truy xuất DL
trong form
I action: tác vụ cần thực hiện khi một submit button được nhấn,
thường là:
I submit dữ liệu lên server để xử lý (server-side)
I gọi một hàm JavaScript để xử lý tại browser (client-side)
I Một số các thuộc tính khác liên quan đến việc submit dữ liệu lên
server hoặc nhận kết quả trả về, sẽ được giới thiệu sau.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 41
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Các Thành Phần Nhập Liệu Cơ Bản

I thẻ <input> cho phép tạo một số t/phần cơ bản để nhập liệu:
<input name=“iname” type=“itype” value=“ivalue” . . . />
I name: tên của input, dùng để tham chiếu đến input
I type: loại input, bao gồm các loại cơ bản sau:
I text: text field
I password : dùng để nhập password
I radio/checkbox: chọn một/một số các giá trị từ danh sách
I button/reset: nút submit/reset biểu mẫu

I file: tạo 1 nút Browse... để chọn file

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 42
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Các Thành Phần Nhập Liệu Cơ Bản

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 43
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Một Số Thành Phần Nhập Liệu Khác

I Text area: dùng nhập liệu 1 đoạn text


<textarea rows=“..” cols=“..”>nội dung</textarea>
I rows: chiều cao của textarea (hàng)
I cols: chiều rộng của textarea (số ký tự)
I Drop-down list: chọn 1 trong các giá trị từ danh sách “thả xuống”
<select name=“..”>các mục chọn</select>
I name: tên của drop-down list
I tạo mục chọn: <option value=“val”>text</option>
I Hidden field (field ẩn): có thể gán và truy xuất giá trị nhưng không hiển
thị trên trang web: <input type=“hidden” name=“..” value=“..”>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 44
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Biểu mẫu (Form)

Một Số Thành Phần Nhập Liệu Khác

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 45
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Định dạng nâng cao (Advanced formatting)

Định Dạng Trang Web Nâng Cao

I Màu nền: <body bgcolor=“tên màu k #rrggbb k rgb(r, g, b)”>


I Ảnh nền: <body background=“image url”>
I Định font chữ:
I cho cả trang web: <basefont face=“..” size=“..” color=“..”>
I cho 1 đoạn: dùng thẻ <font face=“..” size=“..” color=“..”>
I face: tên kiểu chữ
I size: kích thước, từ 1 đến 7 (mặc nhiên: 3)
I color: màu chữ

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 46
[CT428] Chương 2. Ngôn ngữ HTML
Định nghĩa và định dạng thành phần nội dung
Định dạng nâng cao (Advanced formatting)

Định Dạng Trang Web Nâng Cao

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 47
[CT428] Chương 2. Ngôn ngữ HTML
Kết chương

Kết Chương

I HTML là một ngôn ngữ định dạng văn bản, dùng để tạo các trang
web.
I Có nhiều phiên bản HTML, số thẻ được hỗ trợ trong từng phiên
bản là khác nhau.
I Hiện nay, một số thẻ định dạng không còn được hỗ trợ hoặc không
khuyến khích sử dụng (basefont, font...), và được thay bằng CSS.
I Phiên bản mới nhất là HTML5 (đang phát triển):
I hỗ trợ đa dạng hơn loại thành phần của nội dung trang web
I bổ sung thêm nhiều tags mang tính chất ngữ nghĩa (semantic)

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 48
[CT428] Chương 2. Ngôn ngữ HTML
Kết chương

Kết Chương

I Mỗi trình duyệt cũng có thể hỗ trợ khác nhau đối với một số thẻ.
I Cần tham khảo sự hỗ trợ của trình duyệt đối với các thẻ khi tạo
trang web.
I Địa chỉ tham khảo:
I http://www.w3.org (official)
(http: // www. w3. org/ community/ webed/ wiki/ Main_ Page )
I http://w3school.com/html/ (recommended)
I http://htmldog.com/guides/html/
I http://www.echoecho.com/html.htm

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 49
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

1. What does HTML stand for?


a. Hyperlinks and Text Markup Language
b. Home Tool Markup Language
c. Hyper Text Markup Language

2. Who is making the Web standards?


a. The World Wide Web Consortium
b. Mozilla
c. Microsoft
d. Google

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 51
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

3. Choose the correct HTML tag for the largest heading


a. <h1>
b. <heading>
c. <head>
d. <h6>

4. Choose the correct HTML tag to make a text bold


a. <bold>
b. <b>
c. <i>
d. <u>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 52
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

5. What is the correct HTML for creating a hyperlink?


a. <a>http://www.w3schools.com<a>
b. <a url=“http://www.w3schools.com”>W3Schools.com</a>
c. <a name=“http://www.w3schools.com”>W3Schools.com</a>
d. <a href=“http://www.w3schools.com”>W3Schools</a>

6. How can you create an e-mail link?


a. <mail>xxx@yyy</mail>
b. <a href=“mailto:xxx@yyy”>
c. <mail href=“xxx@yyy”>
d. <a href=“xxx@yyy”>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 53
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

7. How can you open a link in a new browser window?


a. <a href=“url” target=“_blank”>
b. <a href=“url” target=“new”>
c. <a href=“url” new>

8. Which of these tags are all table tags?


a. <thead>, <body>, <tr>
b. <table>, <tr>, <tt>
c. <table>, <head>, <tfoot>
d. <table>, <tr>, <td>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 54
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

9. What is the correct HTML for inserting an image?


a. <img src=“image.gif” alt=“MyImage”/>
b. <img href=“image.gif” alt=“MyImage”/>
c. <image src=“image.gif” alt=“MyImage”/>
d. <img alt=“MyImage”>image.gif</img>

10. Why should you add alternative text to your images?


a. So the user can save the image using the text as a name
b. So the users can get an idea of what the image is before it loads
c. In case the user wishes to load a different picture
d. So the users can get an idea of what the image is in case the browser
fails to load the image

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 55
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

11. To seperate single list items use?


a. <ul>
b. <li>
c. <ol>

12. When making bulleted lists you have what options?


a. triangle, square, circle
b. square, disc, polygon
c. disc, circle, square

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 56
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

13. What are the fields that allows the visitor to enter information
called?
a. Meta tags
b. Form fields
c. Meta fields

14. The value setting of a text field defines what?


a. The length of the field
b. If the value entered is a proper value
c. What will appear in the field as the default value

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 57
[CT428] Chương 2. Ngôn ngữ HTML
Quiz

Quiz

15. Which field can hold information that does not show?
a. Text field
b. Hidden field
c. Frame field

16. Password fields are similar to what?


a. Hidden fields except text show as “*”
b. Text fields except text show as “*”
c. Text area except text show as “*”

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 58
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

XHTML Là Gì?

I viết tắt của eXtensible HyperText Markup Language


I là sự kết hợp giữa XML và HTML (được xem là 1 ứng dụng của
XML)
I gần như giống hoàn toàn với HTML 4.01
I chặt chẽ và rõ ràng hơn HTML
⇒ đảm bảo cho các trang web có cấu trúc chặt chẽ, đúng qui cách
⇒ kết quả hiển thị trang web trên các trình duyệt khác nhau sẽ nhất
quán và chính xác hơn
I được khuyến nghị bởi W3C và được hỗ trợ bởi hầu hết browser

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 59
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

Cấu Trúc Một Trang XHTML


 
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of the web page</title>
</head>

<body>
<p>Body of the page</p>
</body>
</html>
 

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 60
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

Cấu Trúc Một Trang XHTML

I khai báo DOCTYPE là bắt buộc:


<!DOCTYPE html PUBLIC profile profile_DTD>
I profile: Strict hoặc Transitional hoặc Frameset.
I profile_DTD: URL của DTD tương ứng với profile.
I khai báo XML namespace trong thẻ <html> là bắt buộc
I các thẻ <html>, <head>, <title> và <body> là bắt buộc phải có
I <html> phải là root của trang web
I khai báo bảng mã, nếu có, phải sử dụng khai báo của XML:
<?xml version=“1.0” encoding=“UTF-8”?>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 61
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

Các Loại XHTML DOCTYPE

I Strict: “-//W3C//DTD XHTML 1.0 Strict//EN”


I Không được sử dụng các tags “quá hạn” (deprecated) (ref. W3C).
I DTD: “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”
I Transitional: “-//W3C//DTD XHTML 1.0 Transitional//EN”
I Các tags “quá hạn” có thể được sử dụng.
I DTD: “http://www.w3.org/. . . /xhtml1-transitional.dtd”
I Frameset: “-//W3C//DTD XHTML 1.0 Frameset//EN”
I Giống Transitional profile nhưng có hỗ trợ frame và framesets.
I DTD: “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 62
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

Một Số Qui Tắc Của XHTML

I Các thành phần (thẻ) phải lồng nhau đúng cấu trúc:
I <b><i>Bold & italic text</b></i>: No
I <b><i>Bold & italic text</i></b>: Yes
I Tất cả các thẻ phải được đóng, kế cả thẻ đơn:
I <img src=“. . . ” alt=“. . . ”>: No
I <img src=“. . . ” alt=“. . . ”/>: Yes
I <br>, <hr>: No
I <br/>, <hr/>: Yes

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 63
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)

Một Số Qui Tắc Của XHTML

I Tên các thẻ và thuộc tính phải được viết thường:


I <BODY>, <TABLE WIDTH=“...”>: No
I <body>, <table width=“...”>: Yes
I Giá trị các thuộc tính phải đặt trong cặp dấu ”
I Không được viết tắt giá trị các thuộc tính:
I <option selected>, <input disable>: No
I <option selected=“selected”>, <input disable=“disabled”>: Yes

HTML validator
http://validator.w3.org ; http://htmlhelp.com/tools/validator

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 64
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)
Quiz

Quiz

1. What does XHTML stand for?


a. EXtensible HyperText Markup Language
b. EXtreme HyperText Markup Language
c. EXtensible HyperText Marking Language
d. EXtra Hyperlinks and Text Markup Language

2. XML and HTML will be replaced by XHTML


a. True
b. False

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 65
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)
Quiz

Quiz

3. Is this correct XHTML?


<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
<li>Milk</li>
</ul>
a. true
b. false

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 66
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)
Quiz

Quiz

4. What elements are mandatory in an XHTML document?


a. doctype, html, head, and body
b. doctype, html and body
c. doctype, html, head, body, and title

5. What are the different DTDs in XHTML?


a. Strict, Transitional, Loose, Frameset
b. Strict, Transitional, Loose
c. Strict, Transitional, Frameset

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 67
[CT428] Chương 2. Ngôn ngữ HTML
XHTML (Đọc thêm)
Quiz

Quiz

6. XHTML documents must be “well-formed”


a. False
b. True

7. What XHTML code is “well-formed”?


a. <p>A <b><i>short</b></i> paragraph</p>
b. <p>A <b><i>short</i></b> paragraph</p>
c. <p>A <b><i>short</i></b> paragraph

8. All XHTML tags and attributes must be in lower case


a. False
b. True

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 68
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)

HTML5 Là Gì?

HTML ∼= HTML + CSS + JS

I the latest version of the HTML markup language


I the living standard
I the next generation features for modern web development
I theoretically, the HTML5 specification will be completed in 2022.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 69
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Một số đặc điểm của HTML5

Một số đặc điểm của HTML5

Simpler and Cleaner

I simple doctype – schema is not required: <!DOCTYPE html>


I simple charset – standalone attribute: <meta charset=“UTF-8”>
I simple JS & CSS link – “type” attribute is no longer required:
<link rel="stylesheet"href="aaa.js">
<style src=“bbb.js”></script>
I minimised boolean attributes:
checked=“checked” → checked, disabled=“disabled” → disabled, . . .

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 70
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các thành phần định nghĩa cấu trúc/ngữ nghĩa

Các thành phần cấu trúc/ngữ nghĩa mới

New Structural/Semantic Elements

allow us to create
richer, more meaningful and more flexible
web documents.

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 71
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các thành phần định nghĩa cấu trúc/ngữ nghĩa

Các thành phần cấu trúc/ngữ nghĩa mới

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 72
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Thành phần form mới

Các thành phần form mới

New Form Elements

I 13 new form input type: email, url, color, date, number, tel, . . .
I new form elements: datalist, meter, output, progress, . . .

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 73
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Thành phần form mới

Các thành phần form mới

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 74
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các thuộc tính form mới

Các thuộc tính form mới

New Form Attributes


I autocomplete: specifics whether the form control should have
autocomplete capability.
<input autocomplete=“on” name=“pwd” type=“password”>
I list: defines which datalist will be used
<input list=“fruit”>
<datalist id=“fruit”>
<option value=“Orange”>
<option value=“Apple”>

</datalist>

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 75
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các thuộc tính form mới

Các thuộc tính form mới

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 76
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Thành phần nội dung mới

Các thành phần nội dung mới

Other New Elements

I <video>: for multimedia content


I <audio>: for multimedia content
I <embed>: for plugin content
I <progress>: for completion of a task
I <time>: represents a date and/or time
I <canvas>: renders bitmap graphic
I <menu>: a typical user interface menu
I ...
TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 77
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các chức nămg mới

Các chức năng mới

New Functions

I web storage: local storage, application cache, . . .


I realtime communication: web socket, we workers, notifications, . . .
I drag and drop: drag-in, drag-out.
I geolocation
I ...

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 78
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các chức nămg mới

Drag and Drop

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 79
[CT428] Chương 2. Ngôn ngữ HTML
HTML5 (Đọc thêm)
Các chức nămg mới

Geolocation

TS. Trần Công Án (Khoa CNTT&TT) [CT428] Chương 2. Ngôn ngữ HTML 80

You might also like