Web front-end (4) - HTML_Tạo một trang web đơn giản

Bài trước: Web front-end (3) - URL, siêu liên kết và siêu văn bản

-------

1         HTML

Sau các bài học về web, trình duyệt, URL, siêu liên kết, siêu văn bản, bạn đã biết được rằng mỗi một tài nguyên trên mạng sẽ được đại diện bằng một URL, gắn kết các URL này bằng siêu liên kết sẽ tạo ra Không gian thông tin toàn cầu (web). Một trang web là một tài liệu gồm văn bản, hình ảnh, video,…v.v có chứa siêu liên kết, do vậy trang web là một siêu văn bản.

Phần này sẽ tìm hiểu các kiến thức và kĩ năng giúp bạn tạo ra được trang web. Gồm các nội dung sau:

– Tạo một trang web đơn giản (tổng quan về HTML)

– Hiển thị văn bản

– Liên kết

– Hình ảnh

– Bảng

– Form

– Các chủ đề mở rộng liên quan đến HTML

1.1       Tạo một trang web đơn giản

HTML là gì?

HTML, viết tắt của HyperText Markup Language - ngôn ngữ đánh dấu siêu văn bản, là một ngôn ngữ (lưu ý: không phải ngôn ngữ lập trình) được sử dụng để tạo ra nội dung cho trang web.

Hiểu nôm na, HTML là ngôn ngữ, sử dụng phương pháp đánh dấu bằng các thẻ, để tạo ra các siêu văn bản, tức là các trang web.

Tài liệu HTML là gì?

Tài liệu HTML (HTML document) là tập tin chứa mã HTML, là trang web ở dạng mã nguồn, trình duyệt sẽ thực thi mã nguồn này để tạo ra trang web.

1.1.1       Trang web tĩnh là gì?

Trang web tĩnh (static web page, flat page hoặc stationary page): là trang web chứa nội dung cố định, nội dung này là giống nhau với mọi người dùng, mọi ngữ cảnh. Người dùng không có khả năng tương tác với nó.

Mã nguồn của trang web tĩnh thường là một tài liệu HTML, được lưu dưới dạng một tập tin.

Mã nguồn của trang web tĩnh có thể được lưu trong cơ sở dữ liệu, thậm chí bao gồm cả các trang được tạo ra bằng một mẫu có sẵn (template) và được phân phối thông qua một server ứng dụng, miễn là các trang kết quả không thể thay đổi và luôn thể hiện như khi nó được lưu trữ.

Trang web tĩnh được dùng để chứa các thông tin cố định, ít hoặc không cần cập nhật.

Chúng ta sẽ cùng nhau tạo ra một trang web tĩnh.

1.1.2       Chuẩn bị nội dung cho trang web

Bước 1. Nhập nội dung

Mở chương trình Notepad, nhập vào nội dung sau (lưu ý nhập đúng nội dung, đúng định dạng):

NGAY DAU TIEN DI HOC

Ngay dau tien di hoc

Me dat tay den truong

Em vua di vua khoc

Me do danh ben em

Tac gia: Vien Phuong

Bước 2. Lưu lại thành tập tin index.html

Vào trình đơn File\Save của Notepad, lưu lại thành tập tin, để trong ổ đĩa\thư mục bất kì, tốt nhất là tạo một thư mục mới có tên là HocLamWeb rồi lưu tập tin vào trong đó, đặt tên tập tin là index.html. Chú ý: để chắc chắn phần mở rộng của tập tin là “.html” chứ không phải là “.html.txt” thì trong lúc lưu, tới phần nhập tên cho tập tin, mục File name, bạn phải bao phần tên và phần mở rộng bằng dấu nháy kép (“”), ví dụ “index.html”.

Bước 3. Thử mở tập tin index.html bằng trình duyệt

Để mở tập tin index.html bằng trình duyệt, chỉ cần bấm đúp chuột (double click) vào tập tin index.html, hoặc bấm chuột phải vào tập tin, chọn Open with, chọn một trình duyệt bất kì, nội dung là đoạn thơ sẽ xuất hiện trên trình duyệt.

Tuy nhiên, để ý là, mặc dù trong cửa sổ soạn thảo Notepad, phần nội dung đã được ngắt dòng rồi, nhưng kết quả thì không như vậy, tất cả các câu thơ nằm trên cùng một dòng nối tiếp nhau.

[Kết quả]

NGAY DAU TIEN DI HOC Ngay dau tien di hoc Me dat tay den truong Em vua di vua khoc Me do danh ben em Tac gia: Vien Phuong

Những thứ sẽ bị trình duyệt bỏ qua khi hiển thị một văn bản

Chuỗi khoảng trắng (spaces): khi gặp một chuỗi khoảng trắng (nhiều khoảng trắng liên tiếp), trình duyệt sẽ chỉ ghi nhận khoảng trắng đầu tiên để hiển thị, các khoảng trắng sau đó sẽ bị bỏ qua

Kí hiệu xuống hàng (line break, carriage return): khi gặp kí tự xuống hàng (hoặc nhiều kí tự xuống hàng liên tiếp), trình duyệt sẽ chuyển thành một khoảng trắng

Các tab cũng được chuyển thành một khoảng trắng

Vì đặc tính bỏ qua chuỗi khoảng trắng, kí hiệu xuống hàng, và tab, nên phần văn bản hoặc các phần tử nội tuyến (inline element) khác sẽ được đặt cạnh nhau, liên tục, và chỉ bị ngắt dòng khi gặp một phần tử khối (block element) kế tiếp.

Các thẻ (tag) mà trình duyệt không hiểu cũng bị bỏ qua. Tuy nhiên, một số trình duyệt sẽ xem nội dung của các thẻ mà nó không nhận ra là dạng văn bản thông thường và trình duyệt sẽ hiển thị nội dung này ra giao diện.

Phần chú thích (comment) sẽ bị bỏ qua, không hiển thị

Rút ra được điều gì từ 3 bước trên?

– Ba bước trên mới làm được một việc là nhập nội dung văn bản vào một tập tin, sau đó mở tập tin bằng trình duyệt để xem kết quả.

– Tuy nhiên, kết quả hiển thị tại trình duyệt lại không giống như khi ở cửa sổ Notepad, các dấu xuống hàng (line break) đã bị bỏ qua.

– Nếu chỉ thực hiện như ba bước vừa rồi thì không thể hiển thị nội dung lên trình duyệt một cách chuyên nghiệp, có bố cục, có định dạng và cấu trúc theo ý muốn, để làm được điều này cần sử dụng tới một công cụ để hiển thị nội dung lên trình duyệt, đó chính là HTML. Nội dung ở đây có thể là văn bản, hình ảnh, video, quy trình xử lý nghiệp vụ.

Vì vậy, bước tiếp theo sẽ bổ sung thêm một số thứ vào tập tin index.html, để biến nó trở thành một tài liệu HTML thực thụ, từ đó có thể thực hiện định dạng phần nội dung theo ý muốn, và trình duyệt sẽ biết cách để hiển thị theo đúng các định dạng mà người lập trình đã đưa ra.

Văn bản là gì

Văn bản (text) là những thứ có thể đọc được. Cụ thể hơn, văn bản chính là tập hợp các kí tự (letter) hoặc các từ (word) có ngữ nghĩa.

Trong thông tin và truyền thông, văn bản là từ, là câu, là đoạn, không bao gồm thông tin định dạng và được lưu dưới dạng mã ASCII (để máy tính có thể hiểu và xử lý được). Những thứ không phải là văn bản bao gồm: các đối tượng đồ họa (graphic), các số (không ở dạng ASCII), và mã chương trình (dạng nhị phân).

Ví dụ một đoạn văn bản,

[Words, sentences, paragraphs. This book, for example, consists of text. Text processing refers to the ability to manipulate words, lines, and pages. Typically, the term text refers to text stored as ASCII codes (that is, without any formatting). Objects that are not text include graphics, numbers (if they're not stored as ASCII characters), and program code.]

1.1.3       Cấu trúc cơ bản của một tài liệu HTML

Điều quan trọng nhất cần biết là tài liệu HTML được tạo ra từ các phần tử HTML. Toàn bộ tài liệu HTML là tập hợp của rất nhiều các phần tử HTML khác nhau tạo thành.

Vậy phần tử HTML là gì?

Phần tử HTML (HTML element) là một thùng chứa (container), nó được sử dụng để chứa văn bản, và chứa các phần tử HTML khác.

Hiểu nôm na, vì là thùng chứa, nên nội dung bên trong của mỗi cái thùng này sẽ chịu tác động bởi hình thù của cái thùng. Mà hình thù của cái thùng được quyết định bởi nguyên liệu tạo ra cái thùng đó. Để tạo ra các thùng khác nhau, sử dụng nguyên liệu là các loại thẻ HTML khác nhau. Để tạo ra một phần tử HTML (thông thường) chỉ cần sử dụng cặp thẻ HTML để bọc lại hai đầu của một nội dung.

Vậy thẻ HTML là gì?

Thẻ HTML (HTML tag) là các từ khóa (keyword), được sử dụng để báo cho trình duyệt biết cách định dạng và hiển thị các nội dung. Trình duyệt sẽ không hiển thị các từ khóa này ra ngoài giao diện. Thẻ HTML thường gồm hai phần: phần mở thẻ gọi là thẻ mở (opening tag, start tag) và phần đóng thẻ gọi là thẻ đóng (closing tag, end tag).

Xem hình minh họa cú pháp của thẻ HTML thông thường,


Cũng có thể hiểu nôm na, HTML sẽ sử dụng các thẻ (tag) để “đánh dấu” chỗ này là tiêu đề, chỗ khác là một đoạn văn bản, chỗ này sẽ hiển thị hình ảnh, chỗ khác sẽ hiển thị một video. Đây chính là ý nghĩa của chữ “đánh dấu” trong khái niệm HTML.

Để ý trong cú pháp của thẻ HTML sẽ thấy, thẻ mở và thẻ đóng sẽ có “tên thẻ” giống nhau, chỉ khác nhau là trong thẻ đóng có thêm dấu xuyệt “/” (forward-slash). Ví dụ: <html></html>, hoặc <p></p>. Đừng nhầm dấu xuyệt (/) với dấu xuyệt ngược (\) (backslash).

Khi lập trình, nên viết tên thẻ ở dạng chữ thường, mặc dù trình duyệt không phân biệt chữ hoa và chữ thường. Ví dụ, nên viết thẻ là <strong> thay vì <Strong> hoặc <STRONG>. Khi viết thẻ mở thì viết luôn thẻ đóng, để tránh quên thẻ đóng, dễ sinh ra lỗi.

Như vậy với cặp thẻ HTML, chúng ta đã tạo ra được một cái thùng rỗng, giờ chỉ việc bỏ nội dung vào giữa cặp thẻ này để tạo ra các phần tử HTML.

Hình dưới đây là cú pháp một phần tử HTML thông thường (gọi là phần tử HTML thông thường vì còn có các phần tử HTML đặc biệt),


Như vậy, một phần tử HTML sẽ bắt đầu là thẻ mở, tới phần nội dung, và cuối cùng là thẻ đóng.

Thẻ HTML và phần tử HTML có phải là một?

Thẻ HTML (HTML tag) và phần tử HTML (HTML element) là hai khái niệm khác nhau, tuy thực tế, mọi người vẫn hay sử dụng để thay thế cho nhau. Nói chung, cả hai đều là những thứ để tạo ra một trang web. Tuy nhiên, thẻ HTML là thành phần để tạo ra phần tử HTML.

Giờ sẽ tìm hiểu xem Cấu trúc cơ bản của một tài liệu HTML gồm những gì, được tổ chức như thế nào?

Xem hình minh họa Cấu trúc cơ bản của một tài liệu HTML5,


Diễn giải hình trên,

Một tài liệu HTML luôn được bắt đầu bằng dòng khai báo, mục đích là để cho trình duyệt biết được tài liệu bên dưới được viết bằng HTML phiên bản bao nhiêu. Từ đó, trình duyệt sẽ dùng đặc tả (specification) tương ứng để biên dịch mã HTML. Từ khóa để khai báo là <!DOCTYPE>, đây không phải là một thẻ HTML, bạn có để ý thấy dấu ! không? các thẻ HTML sẽ không có.

Ví dụ,

– Nếu tài liệu được viết bằng HTML5 thì sẽ khai báo là:

<!DOCTYPE html>

– Nếu tài liệu được viết bằng HTML4.01 Strict thì sẽ khai báo là:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Từ DOCTYPE là viết rút gọn của DOCument TYPE (loại tài liệu).

Sau phần khai báo, đến phần tử html, toàn bộ tài liệu HTML sẽ được chứa trong phần tử này. Phần tử html được gọi là phần tử gốc (root element), vì nó chứa tất cả các phần tử khác của tài liệu, và nó không nằm trong bất kì phần tử nào.

Bên trong phần tử html có hai phần tử con là phần tử head và phần tử body. Phần tử head và body giúp chia một tài liệu HTML thành hai phần riêng biệt. Trong đó, phần tử head chứa các thông tin mô tả về chính tài liệu này, ví dụ tiêu đề (title), tập tin định dạng (CSS), đoạn mã JavaScript, các thông tin này không được hiển thị ra cửa sổ trình duyệt, còn phần body chứa toàn bộ nội dung mà chúng ta muốn hiển thị ra cửa sổ trình duyệt.

Trong phần head có phần tử title, phần tử này sẽ chứa tiêu đề của trang web, nó sẽ xuất hiện trên thanh tiêu đề của trình duyệt. Phần tử title bắt buộc phải nằm trong phần tử head.

Tốt rồi, giờ sẽ làm thực hành tiếp, để có được trang web đầu tiên, cùng làm tiếp Bước 4.

Bước 4. Tạo một trang web thực sự

Bổ sung thêm cấu trúc của một tài liệu HTML vào tập tin index.html, để nó trở thành một tài liệu HTML (trang web) thực thụ. Lúc này tập tin index.html sẽ như sau:

<!DOCTYPE html>

<html>

 

<head>

    <title>Trang web dau tien</title>

</head>

 

<body>

    NGAY DAU TIEN DI HOC

    Ngay dau tien di hoc

    Me dat tay den truong

    Em vua di vua khoc

    Me do danh ben em

    Tac gia: Vien Phuong

</body>

 

</html>

Lưu lại tập tin index.html, mở lại tập tin này bằng trình duyệt và xem kết quả có thay đổi gì không?

Thấy không có gì thay đổi, ngoại trừ thanh tiêu đề của trang web bây giờ sẽ là “Trang web dau tien”, chúng ta có thể thay đổi nội dung trong phần tử title để xem sự thay đổi trên thanh tiêu đề của trình duyệt. Nhớ lưu lại sự thay đổi tại tập tin index.html và làm tươi/tải lại trang web (refresh, reload) trên trình duyệt, để thấy sự thay đổi.

Văn bản thô là gì

Văn bản thô (plain text hay unformatted text) là văn bản ở dạng tự nhiên nhất, không bao gồm thông tin định dạng. Tài liệu word là văn bản đã bao gồm thông tin định dạng, do vậy đó không phải là văn bản thô. Ví dụ, văn bản tạo bằng Notepad hoặc các Text Editor để làm web khác chính là văn bản thô.

Văn bản thô chính là nguyên liệu để tạo ra mã nguồn các trang web (tài liệu HTML).

Ví dụ một đoạn văn bản thô,

<head>

            <title>My webpage</title>

</head>

Tài liệu là gì?

Tài liệu (document) là vật mang tin, được hình thành trong quá trình hoạt động của cơ quan, tổ chức, cá nhân.

Các loại tài liệu: văn bản, dự án, bản vẽ thiết kế, bản đồ, công trình nghiên cứu, sổ sách, biểu thống kê; âm bản, dương bản phim, ảnh, vi phim; băng, đĩa ghi âm, ghi hình; tài liệu điện tử; bản thảo tác phẩm văn học, nghệ thuật; sổ công tác, nhật ký, hồi ký, bút tích, tài liệu viết tay; tranh vẽ hoặc in; ấn phẩm và vật mang tin khác.

1.1.4       Thêm cấu trúc và ngữ nghĩa cho nội dung

HTML có hai chức năng chính, một là tạo ra bố cục hay cấu trúc (structure) cho nội dung cần hiển thị, nghĩa là nội dung gồm những gì, ví dụ trang web sẽ gồm: tiêu đề, logo, menu, nội dung chính, phần bên phải, bên trái, phần chân trang; hai là tạo ngữ nghĩa (meaning, semantic) cho nội dung, ngữ nghĩa chính là ý nghĩa của các thẻ, ví dụ: tiêu đề cấp một, tiêu đề cấp hai, đoạn văn bản, phần trích, phần nhấn mạnh, danh sách.

Việc sắp xếp vị trí của các nội dung, chia cột, tạo màu sắc, hiệu ứng là chức năng của CSS chứ không phải  của HTML.

Trang trí nội dung bằng HTML

Ban đầu, HTML được tạo ra để giúp các nhà khoa học chia sẻ thông tin với nhau, do vậy, chức năng chủ yếu của nó là trình bày văn bản có cấu trúc, dễ đọc.

Tuy nhiên, sau đó, HTML đã được mở rộng, được bổ sung thêm khả năng về định dạng, trang trí, cho phép người lập trình thay đổi phông chữ, màu sắc, căn lề.

Hiện nay, HTML đang được trả lại đúng vai trò ban đầu của nó, nghĩa là HTML chỉ tập trung vào việc biểu diễn nội dung có cấu trúc và có ngữ nghĩa.

Bởi vậy, công việc của lập trình viên là phải lựa chọn phần tử HTML phù hợp nhất để bọc lại các phần nội dung, sao cho nó có cấu trúc phù hợp và phản ánh tốt nhất ngữ nghĩa của nó. Ví dụ, nếu nội dung ở dạng bảng thì phải chọn phần tử table để bọc lại nội dung đó, chứ không thể bọc nó bằng phần tử danh sách (list).

Để hiển thị nội dung có cấu trúc, bên cạnh việc lựa chọn phần tử phù hợp thì lập trình viên còn phải sắp xếp, bố trí các phần tử sao cho hợp lý, hiểu nôm na là tạo bố cục (outline), nghĩa là các phần tử nào sẽ đặt cạnh nhau, phần tử nào sẽ lồng vào nhau. Cấu trúc của một tài liệu HTML chính là DOM (Document Object Model), bạn sẽ tìm hiểu vể DOM ở các phần sau.

Khi nội dung đã được cấu trúc hóa, người lập trình sẽ dễ dàng thực hiện việc trang trí cho các phần tử bằng CSS hoặc lập trình tương tác với các phần tử bằng JavaScript.

Bước 5. Tạo cấu trúc cho phần nội dung

Ở Bước 4 đã tạo được trang web thực sự, với cấu trúc cơ bản của một tài liệu HTML. Tuy nhiên, phần nội dung của trang web (đoạn thơ) vẫn chưa được đặt vào trong các phần tử HTML phù hợp. Điều này không được khuyến khích trong thực tế, vì nó tạo ra tình trạng không thể định dạng và không thể kiểm soát được sự xuất hiện của nó ở cửa sổ trình duyệt.

Vì vậy, công việc của phần này là tìm các phần tử HTML phù hợp để bao lại phần nội dung, vừa để cấu trúc hóa phần nội dung, vừa để tiện cho việc trang trí hoặc lập trình tương tác về sau.

– Mở tập tin index.html bằng Notepad

– Đặt dòng chữ NGAY DAU TIEN DI HOC vào trong phần tử h1, hay nói cách khác là dùng thẻ <h1> để bọc lại dòng chữ này. Phần tử h1 được sử dụng để chứa các tiêu đề mức 1, h1 là viết tắt của heading level 1. Hiểu nôm na, nội dung nào được bọc bằng thẻ <h1> thì trình duyệt sẽ hiểu đây là tiêu đề mức cao nhất, vì vậy nó sẽ hiển thị nội dung này với phông chữ lớn, in đậm.

– Dùng thẻ <p> để bọc lại mỗi câu thơ và dòng thông tin về tác giả, p là viết tắt của paragraph (đoạn văn bản)

– Dùng thẻ <em> bọc lại tên tác giả, để nhấn mạnh tên tác giả, em là viết tắt của emphasis.

Lúc này tập tin index.html sẽ như sau:

<!DOCTYPE html>

<html>

 

<head>

    <title>Trang web dau tien</title>

</head>

 

<body>

    <h1>NGAY DAU TIEN DI HOC</h1>

    <p>Ngay dau tien di hoc</p>

    <p>Me dat tay den truong</p>

    <p>Em vua di vua khoc</p>

    <p>Me do danh ben em</p>

    <p>Tac gia: <em>Vien Phuong</em></p>

</body>

 

</html>

Lưu lại tập tin index.html, và ra ngoài trình duyệt để xem kết quả, sẽ thấy đoạn thơ được hiển thị có bố cục tốt hơn, tên bài thơ được in đậm, mỗi câu thơ nằm trên một hàng, tên tác giả được in nghiêng.

[Kết quả]

NGAY DAU TIEN DI HOC

Ngay dau tien di hoc

Me dat tay den truong

Em vua di vua khoc

Me do danh ben em

Tac gia: Vien Phuong

1.1.5       Phần tử kiểu block và inline

Như đã biết, phần tử body sẽ chứa toàn bộ nội dung được hiển thị ra màn hình. Nghĩa là, phần tử body sẽ chứa tất cả các phần tử HTML của nội dung trang web. Như vậy, phần tử body là phần tử cha, trong nó sẽ có các phần tử con. Chúng ta sẽ hiểu thêm về quan hệ cha-con khi tìm hiểu về DOM.

Cứ tưởng tượng, phần tử body chính là một hình chữ nhật lớn, có chiều rộng đúng bằng chiều rộng của cửa sổ trình duyệt, chiều dài không hạn chế, hình chữ nhật này được chia thành các hàng, dùng để chứa các phần tử con, mỗi phần tử con cũng là một hình chữ nhật, nhưng nhỏ hơn.

Ở chế độ mặc định, mỗi phần tử HTML sẽ thuộc một trong hai kiểu hiển thị là block (kiểu khối) hoặc inline (kiểu nội tuyến, trong hàng).

Hình sau minh họa hai kiểu hiển thị block và inline,



Hiển thị kiểu block

Một phần tử có kiểu hiển thị là block (block-level) sẽ luôn được hiển thị ở một hàng mới và nó sẽ chiếm toàn bộ chiều rộng khả dụng (nghĩa là chiếm toàn bộ chiều rộng của phần tử cha nó).

Một số phần tử (thẻ) HTML có kiểu hiển thị block gồm,

<address>

<article>

<aside>

<blockquote>

<canvas>

<dd>

<div>

<dl>

<dt>

<fieldset>

<figcaption>

<figure>

<footer>

<form>

<h1>-<h6>

<header>

<hr>

<li>

<main>

<nav>

<noscript>

<ol>

<output>

<p>

<pre>

<section>

<table>

<tfoot>

<ul>

<video>

Hiển thị kiểu inline

Một phần tử có kiểu hiển thị là inline (inline-level) sẽ không yêu cầu một hàng mới khi hiển thị và sẽ chiếm độ rộng vừa đủ để chứa hết phần nội dung của nó.

Một số phần tử (thẻ) HTML có kiểu hiển thị inline gồm,

<a>

<abbr>

<acronym>

<b>

<bdo>

<big>

<br>

<button>

<cite>

<code>

<dfn>

<em>

<i>

<img>

<input>

<kbd>

<label>

<map>

<object>

<q>

<samp>

<script>

<select>

<small>

<span>

<strong>

<sub>

<sup>

<textarea>

<time>

<tt>

<var>

 

 

 

 


Hình dưới đây minh họa kiểu hiển thị của các phần tử trong trang index.html,


Định dạng mặc định của trình duyệt

Như đã biết, nhiệm vụ của HTML là tạo cấu trúc và ngữ nghĩa cho nội dung. Tuy nhiên, quan sát trang index.html trên trình duyệt, sẽ thấy nội dung nằm trong phần tử h1 có phông chữ lớn, nét đậm, nội dung nằm trong phần tử p có phông chữ nhỏ hơn, nội dung nằm trong phần tử em được in nghiêng. Vậy thông tin định dạng này ở đâu ra? Đó chính là thông tin định dạng mặc định của trình duyệt (user agent style sheets). Khi học về CSS sẽ tạo các định dạng mới để thay thế cho định dạng mặc định này.

1.1.6       Xem và đọc thêm

– Sử dụng các từ khóa này để tìm kiếm trên Google hoặc Youtube để đọc và xem thêm: HTML căn bản, HTML tutorial, phần tử kiểu inline, inline element, phần tử kiểu block, block element.

– Learn HTML (chapter 1, 2): https://www.youtube.com/watch?v=kUMe1FH4CHE

1.1.7       Bài tập và thực hành

(Không nên sử dụng google để dịch các bài tập bằng tiếng Anh, mà nên dùng từ điển để tự dịch và làm theo. Mục đích để rèn khả năng đọc hiểu tài liệu tiếng Anh).

Bài tập 1. Viết lại các đoạn mã trong phần lý thuyết.

Bài tập 2. Entering content

1. Type the home page content below into the new document in your text editor (e.g Notepad). Copy it exactly as you see it here, keeping the line breaks the same.

Black Goose Bistro

 

The Restaurant

The Black Goose Bistro offers casual lunch and dinner fare in a relaxed atmosphere. The menu changes regularly to highlight the freshest local ingredients.

 

Catering

You have fun. We'll handle the cooking. Black Goose Catering can handle events from snacks for a meetup to elegant corporate fundraisers.

 

Location and Hours

Seekonk, Massachusetts;

Monday through Thursday 11am to 9pm; Friday and Saturday, 11am to

midnight

2. Select “Save” or “Save as” from the File menu of text editor to save document into harddisk. The first thing you need to do is create a new folder that will contain all of the files for the site. The technical name for the folder that contains everything is the local root directory. Name the new folder bistro, and save the text file as index.html in it. The filename needs to end in .html to be recognized by the browser as a web document.

3. Let’s take a look at index.html in a browser. Double-click the filename in the File Explorer to launch your default browser, or right-click the file for the option to open it in the browser of your choice.

4. You should see some text on the screen.

[Result]

Black Goose Bistro The Restaurant The Black Goose Bistro offers casual lunch and dinner fare in a relaxed atmosphere. The menu changes regularly to highlight the freshest local ingredients. Catering You have fun. We'll handle the cooking. Black Goose Catering can handle events from snacks for a meetup to elegant corporate fundraisers. Location and Hours Seekonk, Massachusetts; Monday through Thursday 11am to 9pm; Friday and Saturday, 11am to midnight

Bài tập 3. Adding minimal structure

1. Open the new index.html document if it isn’t open already and add the DOCTYPE declaration:

<!DOCTYPE html>

2. Put the entire document in an HTML root element by adding an <html> start tag after the DOCTYPE and an </html> end tag at the very end of the text.

3. Next, create the document head that contains the title for the page. Insert <head> and </head> tags before the content. Within the head element, add information about the character encoding <meta charset="utf-8">, and the title, “Black Goose Bistro”, surrounded by opening and closing <title> tags.

4. Finally, define the body of the document by wrapping the text content in <body> and </body> tags. When you are done, the source document should look like this (the markup is shown in color to make it stand out):

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Black Goose Bistro</title>

</head>

<body>

Black Goose Bistro

The Restaurant

The Black Goose Bistro offers casual lunch and dinner fare in a relaxed atmosphere. The menu changes regularly to highlight the freshest local ingredients.

 

Catering

You have fun. We'll handle the cooking. Black Goose Catering can handle events from snacks for a meetup to elegant corporate fundraisers.

 

Location and Hours

Seekonk, Massachusetts;

Monday through Thursday 11am to 9pm; Friday and

Saturday, 11am to midnight

</body>

</html>

5. Save the document in the bistro directory, so that it overwrites the old version. Open the file in the browser or hit Refresh or Reload if it is open already.

[Result]

Black Goose Bistro The Restaurant The Black Goose Bistro offers casual lunch and dinner fare in a relaxed atmosphere. The menu changes regularly to highlight the freshest local ingredients. Catering You have fun. We'll handle the cooking. Black Goose Catering can handle events from snacks for a meetup to elegant corporate fundraisers. Location and Hours Seekonk, Massachusetts; Monday through Thursday 11am to 9pm; Friday and Saturday, 11am to midnight

Bài tập 4. Defining text elements

1. Open the document index.html in your text editor, if it isn’t open already.

2. The first line of text, “Black Goose Bistro,” is the main heading for the page, so we’ll mark

it up as a Heading Level 1 (h1) element. Put the opening tag, <h1>, at the beginning of

the line and the closing tag, </h1>, after it, like this:

<h1>Black Goose Bistro</h1>

3. Our page also has three subheads. Mark them up as Heading Level 2 (h2) elements in a

similar manner. I’ll do the first one here; you do the same for “Catering” and “Location

and Hours.”

<h2>The Restaurant</h2>

4. Each h2 element is followed by a brief paragraph of text, so let’s mark those up as

paragraph (p) elements in a similar manner. Here’s the first one; you do the rest:

<p>The Black Goose Bistro offers casual lunch and dinner fare in

a relaxed atmosphere. The menu changes regularly to highlight the

freshest local ingredients.</p>

5. Finally, in the Catering section, I want to emphasize that visitors should just leave

the cooking to us. To make text emphasized, mark it up in an emphasis element (em)

element, as shown here:

<p>You have fun. <em>We'll handle the cooking.</em> Black Goose

Catering can handle events from snacks for a meetup to elegant

corporate fundraisers.</p>

6. Now that we’ve marked up the document, let’s save it as we did before, and open (or

reload) the page in the browser. You should see a page that looks much like the one in

the following figure. If it doesn’t, check your markup to be sure that you aren’t missing any

angle brackets or a slash in a closing tag.


1.1.8       Câu hỏi ôn tập

Câu 1. A static web page (sometimes called a flat page or a stationary page) is a web page that is delivered to the user's web browser exactly as stored, in contrast to __________ which are generated by a web application.

A. dynamic web pages

B. web root

C. Internet

D. database

Câu hỏi 2. Một phần tử HTML (thông thường) gồm các thành phần sau:

A. thẻ mở, thẻ đóng

B. thẻ mở, nội dung

C. thẻ mở, nội dung, thẻ đóng

D. thẻ đóng, nội dung

Câu hỏi 3. Cấu trúc cơ bản của một tài liệu HTML gồm:

A. Phần khai báo (doctype), phần tử html, phần tử head, phần tử title, phần tử body

B. Phần khai báo (doctype), phần tử html, phần tử header, phần tử title, phần tử body

C. Phần khai báo (doctype), phần tử html, phần tử head, phần tử link, phần tử body

D. Phần khai báo (doctype), phần tử html, phần tử p, phần tử title, phần tử body

Câu hỏi 4. Phát biểu nào sau đây là hợp lý:

A. HTML tạo ra cấu trúc và ngữ nghĩa cho phần nội dung trang web

B. HTML thực hiện việc trang trí cho trang web

C. HTML xử lý các tương tác của người dùng trên giao diện web

D. HTML vừa tạo ra phần nội dung vừa thực hiện trang trí cho trang web

Câu hỏi 5. Phát biểu nào đúng khi nói về “<!DOCTYPE html>”?

A. Là một thẻ HTML

B. Là một khai báo trong tài liệu HTML

C. Là một phần tử HTML

D. Là một chú thích trong HTML

Đáp án: 1(A), 2(C), 3(A), 4(A), 5(B)

---------

Slide

Video

-----

Cập nhật: 26/3/2024
-----

Tải tài liệu đầy đủ: Tự học HTML căn bản