Chú ý nếu bạn vẫn thấy xuất hiện 1 số từ tiếng Anh - đó là do chúng tôi không tìm được từ tiếng Việt tương ứng, việc dịch thẳng sang tiếng Việt sẽ làm giảm sự ý nghĩa và làm cho tài liệu khó hiểu hơn. bạn nên tiếp tục đọc thêm các đọan kế sẽ dần hiểu rõ ý nghĩa của từ tiếng Anh tương ứng.
- HTML là chữ viết tắt của Hyper Text Markup Language (Ngôn ngữ hiển thị siêu văn bản).
- Một file HTML là một file text bao gồm những tag nhỏ
- Những tag hiển thị nói cho trình duyệt biết nó phải hiển thị trang đó như thế nào
- Một file HTML phải có phần mở rộng là .htm hoặc .html
- Một file HTML có thể được tạo bởi một trình soạn thảo đơn giản.
Bạn có muốn thử không?
Nếu bạn sử dụng Window hãy mở Notepad, nếu bạn sử dụng Mac mở ứng dụng Simple Text. Với OSX bạn mở TextEdit và thay đổi lựa chọn sau: Select (trong cửa sổ preference) > Plain Text thay vì Rich Text và chọn "Ignore rich text commands in HTML files". Việc này rất quan trọng bởi vì nếu bạn không làm vậy thì code HTML có thể không đúng.
Sau đó bạn gõ vào những dòng sau:
<html>
<head>
<title>Viet Photoshop</title>
</head>
<body> www.vietphotoshop.com and www.bantayden.com. <b>Photoshop and web design resources </b>
</body>
</html>
Lưu file lại với tên là "mypage.htm" vào desktop cũng được. Sau đó bạn đóng trình soạn thảo Notepad hoặc Simple Text lại và tìm đến file mypage.htm ở desktop rồi nhấp đúp vào trình duyệt sẽ hiển thị nội dung của trang.
Giải thích ví dụ trên:
Thẻ đầu tiên trong tài liệu HTML là <html>. Thẻ này nói cho trình duyệt biết đây là điểm khởi đầu của một tài liệu HTML. Thẻ cuối cùng của tài liệu là </html>, thẻ này nói cho trình duyệt biết đây là điểm kết thúc của văn bản.
Đoạn chữ nằm giữa hai thẻ <head> và </head> là thông tin của header. Thông tin header sẽ không được hiển thị trên cửa sổ trình duyệt.
Đoạn chữ nằm giữa cặp thẻ <title> là tiêu đề của văn bản. Dòng tiêu đề này sẽ xuất hiện ở thanh trạng thái của trình duyệt web.
Đoạn chữ nằm giữa hai thẻ <body> là những gì nó sẽ thể hiện trên trình duyệt của bạn.
Đoạn chữ nằm giữa hai thẻ <b> và </b> sẽ xuất hiện dưới dạng đậm
Phần mở rộng là HTM hay HTML?
Khi bạn lưu một văn bản dưới dạng HTML, bạn có thể sử dụng cả hai dạng là .htm và .html. Chúng ta đã sử dụng dạng .htm trong ví dụ trên. Lý do này bắt nguồn từ nguyên nhân ngày trước là có những phần mềm chỉ cho phép phần mở rộng có tối đa là 3 chữ cái. Với những phần mềm mới hiện nay chúng ta nghĩ sẽ tốt hơn nếu bạn lưu lại với phần mở rộng là .html
Một chú ý khi sử dụng trình soạn thảo HTML:
Bạn có thể dễ dàng chỉnh sửa một tài liệu HTML bằng cách sử dụng WYSIWYG (what you see is what you get = thấy gì có đó) như là Frontpage, Claris Homepage, Dream weaver hoặc Adobe PageMill thay vì bạn phải tự viết những cặp thẻ từ đầu đến cuối. Nhưng nếu bạn muốn trở thành một web master đầy kỹ thuật, tôi khuyên bạn nên sử dụng những trình soạn thảo text đơn giản để học và làm quen với cấu trúc câu lệnh của HTML.
Những câu hỏi thường gặp
Q: Sau khi tôi đã chỉnh sửa một file HTML, nhưng tôi không thể xem được kết quả ở trình duyệt. Tại sao vậy?
A: Bạn phải chắc rằng bạn đã lưu file đó với phần mở rộng là .htm hoặc .html, như ở ví dụ trên là mypage.htm.
Q: Tôi đã thử chỉnh sửa file HTML của tôi nhưng lại không thấy thay đổi gì ở trình duyệt cả. Tại sao vậy?
A: Trình duyệt tự động cach trang của bạn do đó nó không phải đọc cùng một trang hai lần. Khi bạn thay đổi gì đó ở một trang, trình duyệt nó không thể nhận ra được những thay đổi đó. Sử dụng nút refresh hoặc reload của trình duyệt để bắt nó đọc lại những thay đổi bạn tạo ra.
Q: Tôi nên sử dụng trình duyệt nào?
A: Bạn có thể thực tập tất cả những bài thực hành trong phần này với những trình duyệt thông dụng như Internet Explorer, Mozilla, Netscape hoặc Opera. Tuy nhiên, một vài ví dụ trong phần nâng cao đòi hỏi bạn phải có phiên bản mới nhất của trình duyệt.
Q: Tôi bắt buộc phải sử dụng Window sao? còn Mac thì sao?
A: Bạn có thể thực tập tất cả những bài thực hành trong phần này với hệ điều hành không phải là Windows như Mac. Tuy nhiên một vài ví dụ trong phần nâng cao đòi hỏi bạn phải có phiên bản mới hơn của Windows, như là Window98 hoặc Windows 2000.
Thẻ HTML được bao quanh bởi hai dấu lớn hơn < và > nhỏ hơn.
Những thẻ HTML thường có một cặp giống như <b> và </b>
Thẻ thứ nhất là thẻ mở đầu và thẻ thứ hai là thẻ kết thúc.
Dòng chữ ở giữa hai thẻ bắt đầu và kết thúc là nội dung.
Những thẻ HTML không phân biệt in hoa và viết thường, ví dụ dạng <b> và <B> đều như nhau,
Thành phần HTML
Nhớ lại ví dụ ở trên của chúng ta về HTML
<html>
<head>
<title>Viet Photoshop</title>
</head>
<body> www.vietphotoshop.com and www.bantayden.com. <b>Photoshop and web design resources </b>
</body>
</html>
<b>Photoshop and web design resources </b>
Thành phần của HTML bắt đầu với thẻ: <b>
Nội dung của nó là: Photoshop and web design resourcesThành phần của HTML kết thúc với thẻ: </b>
Mục đích của thẻ <b> là để xác định một thành phần của HTML phải được thể hiện dưới dạng in đậm
Đây cũng là một thành phần của HTML:
<body> www.vietphotoshop.com and www.bantayden.com. <b>Photoshop and web design resources </b>
</body>
Phần này bắt đầu bằng thẻ bắt đầu <body> và kết thúc bằng thẻ kết thúc </body>. Mục đích của thẻ <body> là xác định thành phần của HTML bao gồm nội dung của tài liệu.
Các thuộc tính của thẻ HTML
Những thẻ HTML đều có những thuộc tính riêng. Những thuộc tính này cung cấp thông tin về thành phần HTML của trang web. Tag này xác định thành phần thân của trang HTML: <body>. Với một thuộc tính thêm vào là bgcolor, bạn có thể báo cho trình duyệt biết rằng màu nền của trang này là màu đỏ, giống như sau: <body bgcolor="red"> hoặc <body bgcolor="#E6E6E6"> (#E6E6E6 là giá trị hex của màu)
Thẻ này sẽ xác định dạng bảng HTML:<table> với một thuộc tính đường viền (border), bạn có thể báo cho trình duyệt biết rằng bảng sẽ không có đường viền: <table border="0">
Thuộc tính luôn luôn đi kèm một cặp như name/value: name="value" (tên="giá trị")
thuộc tính luôn luôn được thêm vào thẻ mở đầu của thành phần HTML.
Dấu ngoặc kép, "red" hoặc 'red'Giá trị thuộc tính nên được đặt trong dấu trích dẫn " và ". Kiểu ngoặc kép như vậy thì phổ biến hơn, tuy nhiên kiểu đơn như ' và ' cũng có thể được dùng. Ví dụ trong một vài trường hợp đặc biệt hiếm, ví dụ như giá trị thuộc tính đã mang dấu ngoặc kép rồi, thì việc sử dụng ngoặc đơn là cần thiết. Ví du
Những thẻ quan trọng nhất trong HTML là những thẻ xác định Heading, đoạn văn và xuống dòng.
Headings
Headings được định dạng với hai thẻ <h1> đến <h6>. <h1> xác định heading lớn nhất. <h6> xác định heading nhỏ nhất
<h1>Đây là heading</h1>
<h2>Đây là heading</h2>
<h3>Đây là heading</h3>
<h4>Đây là heading</h4>
<h5>Đây là heading</h5>
<h6>Đây là heading</h6>
HTML sẽ tự động thêm một dòng trắng trước và sau mỗi heading.
Đoạn văn - paragraphs
Paragraphs được định dạng bởi thẻ <p>.
<p>Đây là đoạn văn</p>
<p>Đây là một đoạn văn khác</p>
HTML sẽ tự động thêm một dòng trắng trước và sau mỗi heading.
Line Breaks - xuống dòng
Thẻ <br> được sử dụng khi bạn muốn kết thúc một dòng nhưng lại không muốn bắt đầu một đoạn văn khác. Thẻ <br> sẽ tạo ra một lần xuống dòng khi bạn viết nó.
<p>Đây <br> là một đo<br>ạn văn với thẻ xuống hàng</p>
Thẻ <br> là một thẻ trống, nó không cần thẻ đóng dạng </br>
Lời chú thích trong HTMLThẻ chú thích được sử dụng để thêm lời chú thích trong mã nguồn của HTML. Một dòng chú thích sẽ được bỏ qua bởi trình duyệt. Bạn có thể sử dụng chú thích để giải thích về code của bạn, để sau này bạn có phải quay lại chỉnh sửa gì thì cũng dễ nhớ hơn.
<!-- Chú thích ở trong này -->
Bạn cần một dấu chấm than ! ngay sau dấu nhỏ hơn nhưng không cần ở dấu lớn hơn.
Một vài ký tự tương tự như dấu nhỏ hơn <, có một ý nghĩa đặc biệt trong HTML, và do đó không thể được sử dụng như là chữ được. Do vậy để hiển thị được dấu nhỏ hơn < trong HTML chúng ta phải sử dụng những ký tự đặc biệt. Bởi vì dấu < xác định điểm bắt đầu của một thẻ HTML. Nên nếu bạn muốn trình duyệt hiển thị ký tự đó bạn phải thêm và code của nó những ký tự đặc biệt.
Một ký tự đặc biệt có 3 phần: Ký hiệu (&), tên của ký tự hoặc một dấu # và một dãy số và cuối cùng là dấu chấm phẩy ;
Để hiển thị được dấu nhỏ hơn trong HTML bạn phải viết là < hoặc <
Cái hay của việc sử dụng tên thay vì sử dụng số là vì tên của nó thì dễ nhớ hơn nhiều. Nhưng cái dở lại là không phải trình duyệt nào cũng hỗ trợ những tên mới này, trong khi đó hầu hết các trình duyệt đều có thể nhận ra nó ở dạng số.
Bạn nên chú ý rằng ký tự đặc biệt phân biệt chữ hoa và chữ thường. Ví dụ sau đây sẽ giúp bạn thực nghiệm với những ký tự đặc biệt. Lưu ý bạn rằng những ký tự này chỉ có trong trình duyệt Internet Explorer.
Ký tự được dùng nhiều nhất trong HTML có lẽ là nbsp (non-breaking space)
Thường thì HTML cắt bớt khoảng trống trong chữ của bạn. Ví dụ nếu bạn viết 10 chỗ trống trong text của bạn thì HTML sẽ loại bỏ 9 trong số đó. Để thêm khoảng trống vào chữ của bạn, bạn phải sử dụng ký tự đặc biệt là
Ví dụ này hướng dẫn bạn cách dùng hình làm đường liên kết.
Thẻ Anchor và thuộc tính Href
HTML sử dụng thẻ <a> (anchor) để tạo đường liên kết đến một tài liệu khác.
Thẻ anchor có thể liên kết đến bất cứ một tài nguyên nào trên internet, chúng có thể là một trang HTML, một tấm hình, một file nhạc, một bộ phim .v.v.
Cú pháp để tạo một thẻ anchor
<a href="url">Chữ bạn muốn ở đây</a>
Thẻ <a> được sử dụng để tạo một điểm neo và liên kết bắt đầu từ đó, thuộc tính href được sử dụng để chỉ ra tài liệu sẽ được liên kết đến, và chữ ở xuất hiện ở giữa hai tag < và > sẽ được hiển thị dưới dạng siêu liên kết.
Điểm neo sau xác định liên kết đến diễn đàn của vietphotoshop.com
<a href="http://www.vietphotoshop.com/forum">Mời bạn vào diễn đàn của VPTS</a>
Dòng code ở trên sẽ xuất hiện như sau trong trình duyệt.
Mời bạn vào diễn đàn của VPTS
Thuộc tính đích đến:
Với thuộc tính đích đến, bạn có thể xác định liên kết đến tài liệu khác sẽ được mở ra ở đâu. Dòng code dưới đây sẽ mở tài liệu được liên kết trong một cửa sổ trình duyệt mới.
<a href="http://www.vietphotoshop.com/forum"target="_blank">Mời bạn vào diễn đàn của VPTS</a>
Thẻ anchor và thuộc tính tên
Thuộc tính tên được sử dụng để tạo một điểm neo đã được đặt tên. Khi sử dụng điểm neo đã được đặt tên trước chúng ta có thể tạo ra những đường liên kết mà người đọc có thể nhảy trực tiếp đến một phần cụ thể nào đó trên trang web, thay vì họ phải kéo xuống dưới để tìm thông tin. Một dạng như là bookmark vậy!
Dưới đây là cú pháp của điểm neo được đặt tên trước:
<a name="Tên">Chữ bạn muốn hiển thị ở đây</a>
Thuộc tính tên được sử dụng để tạo điểm neo. Tên của điểm neo có thể là bất cứ thứ gì bạn muốn.
Dòng code sau xác định điểm neo được đặt tên trước.
<a name="Photoshop Tutorial">Tất cả tutorial ở đây</a>
Bạn có thể nhận ra rằng thẻ anchor được đặt tên trước được hiển thị không có gì đặc biệt. Để trực tiếp liên kết phần Photoshop Tutorial, bạn chỉ phải thêm dấu # và tên của điểm neo và cuối cùng của một URL. Xem ví dụ sau
<a href="http://www.vietphotoshop.com/#tutorials">Quay lại trang tutorials</a>
Một đường liên kết đến phần Quay lại trang tutorials TỪ trang "html_chuong_3.htm" sẽ như sau:
<a href="#tutorials">Quay lại trang tutorials</a>
Mẹo giúp bạn
Luôn luôn thêm một đường dẫn mỗi khi bạn muốn dẫn đến một thư mục con. Nếu bạn để đường liên kết như sau:
href="http://www.vietphotoshop.com/html" thì bạn sẽ tạo ra 2 lệnh HTTP cho server, bởi vì server sẽ thêm một đường dẫn vào địa chỉ và tạo ra một lệnh mới như sau:
Điểm neo được đặt tên thường được sử dụng để tạo Mục Lục tại trang đầu tiên của một tài liệu nhiều trang. Môi chương trong tài liệu đó được cho một điểm neo, và liên kết đến mỗi một điểm neo này sẽ được đặt ở trên cùng của tài liệu.
Nếu trình duyệt không tìm được điểm neo được chỉ ra từ trước, nó sẽ quay lên phần trên cùng của tài liệu.
Với frame bạn có thể hiển thị nhiều trang web trên cùng một cửa sổ trình duyệt. Mỗi một tài liệu HTML được gọi là một frame, và mỗi frame đều độc lập với những frame khác.
Thẻ <frameset> xác định bạn sẽ chia cửa sổ trình duyệt thành những frame như thế nào. Môi một frame xác định một tập hợp các hàng hoặc cột. Giá trị của hàng hoặc cột chỉ ra diện tích của màn hình mà frame đó sẽ chiếm.
Thẻ Frame
Thẻ <frame> xác định tài liệu HTML nào sẽ được chèn vào mỗi frame.
Ở ví dụ dưới đây bạn có một frameset với hai cột. Cột thứ nhất được thiết lập là chiếm 25% độ rộng của cửa sổ trình duyệt. Cột thứ hai được thiết lập sẽ chiếm 75% độ rộng của cửa sổ trình duyệt. Tài liệu html tên là "frame_a.htm" được chèn vào cột thứ nhất, và "frame_b.htm" được chèn vào cột thứ hai.
Nếu frame của bạn có đường viền thì người dùng có thể định lại kích thước bằng cách kéo nó. Để tránh việc này bạn có thể thêm noresize="noresize" vào thẻ <frame>
Thêm thẻ <noframes> cho trình duyệt không hỗ trợ frame.
Ví dụ này chỉ ra cách sử dụng thuộc tính noresize. Frame trong ví dụ này không thể resize được. Di chuột vào đường biên ở giữa hai frame và bạn có thể nhận ra rằng bạn không thể di chuyển được đường biên.
Ví dụ này hướng dẫn bạn cách tạo ra một mục lục (navigation) bằng frame. Frame navigation chứa một danh sách những đường link và đích là ở frame thứ hai. Tài liệu "tryhtml_contents.htm" chứa 3 đường link và code của đường link như sau
Ví dụ này chỉ bạn cách tạo 2 frame, Frame này chứa nguồn đến một phần cụ thể của một file. Phần cụ thể đó được tạo bởi <a name="c10"> trong file "link.htm"
Ví dụ này sẽ cho bạn thấy có 2 frame. Một frame là navigation frame (content.htm) ở bên trái bao gồm một danh sách các đường link với frame thứ 2 (link.htm) là đích đến. Frame thứ hai hiển thị tài liệu được link. Một trong các đường link ở navigation frame được liên kết đến một phần cụ thể ở file đích. Code HTML của file "content.htm" nhìn như sau: <a href="link.htm" target="showframe"> Link without Anchor</a><br><a href ="link.htm#C10" target ="showframe">Link with Anchor</a>.
Bảng được định dạng bởi thẻ <table>. Một bảng được chia ra làm nhiều hàng với thẻ <tr>, môi hàng được chia ra làm nhiều cột dữ liệu với thẻ <td>. Cbữ td là chữ viết tắt của "table data", là nội dung của cột dữ liệu. Một cột dữ liệu có thể bao gồm chữ, hình ảnh, danh sách, đoạn vắn, form và bảng v.v.
Đoạn code trên sẽ hiển thị như thế này trong cửa sổ trình duyệt
row 1, cell 1
row 1, cell 2
row 2, cell 1
row 2, cell 2
Bảng và thuộc tính đường biên
Nếu bạn không thiết lập thuộc tính đường biên cho bảng thì bảng của bạn sẽ được hiển thị mà không có đường biên. Đôi khi nó có thể hữu dụng nhưng thường thì bạn muốn bảng của bạn có đường biên.
Để hiển thị đường biên của một bảng, bạn phải sử dụng thuộc tính đường biên.
Danh sách không theo thứ tự là một danh sách các mục. Danh sách của các mục sẽ được đánh dấu bởi những bullet (dạng như gạch đầu dòng nhưng là một vòng tròn màu đen).
Danh sách không theo thứ tự bắt đầu với thẻ <ul>. Mỗi một mục được bắt đầu với một thẻ <li>.
Ở giữa những mục trên bạn có thể chèn thêm chữ vào như là xuống hàng, hình ảnh, đường liên kết thậm chí là một danh sách khác.
Danh sách theo thứ tự
Danh sách theo thứ tự cũng là một dạng danh sách của các mục. Nhưng những mục trong đó được đánh dấu bởi số. Một danh sách theo thứ tự bắt đầu với thẻ <ol>. Mỗi mục được bắt đầu với thẻ <li>.
Ở giữa những mục trên bạn có thể chèn thêm chữ vào như là xuống hàng, hình ảnh, đường liên kết thậm chí là một danh sách khác.
Danh sách dạng định nghĩa
Một danh sách dạng định nghĩa không phải là danh sách của các hạng mục. Nó là một danh sách của các thuật ngữ và những lời giải thích của thuật ngữ đó. Một danh sách định nghĩa bắt đầu với thẻ <dl>. Mỗi một thuật ngữ được bắt đầu với thẻ <dt>. Mỗi định nghĩa trong danh sách định nghĩa được bắt đầu bằng thẻ <dd>.
<dl>
<dt>www.bantayden.com</dt>
<dd>Tiền thân của vietphotoshop</dd>
<dt>www.vietphotoshop.com</dt>
<dd>Trang web chuyên về Photoshop cho người Việt</dd>
</dl>
Một form là một vùng mà nó bao gồm những thành phần của form. Thành phần của form là những thành phần cho phép người dùng có thể điền thông tin như là trường chữ, menu thả xuống, nút radio, và các hộp kiểm vào một form.
Một form được xác định bởi thẻ <form>
<form>
<input>
<input>
</form>
Nhập liệu
Thẻ form được sử dụng nhiều nhất là thẻ <input>. Loại dữ liệu nhập vào sẽ được xác định bởi thuộc tính của nó. Những trường nhập liệu được sử dụng nhiều nhất được giải thích ở dưới đây.
Text field
Text field được sử dụng khi bạn muốn người dùng đánh chữ, số v.v.. vào một form.
<form>
First name:
<input type="text" name="firstname">
<br>
Last name:
<input type="text" name="lastname">
</form>
Nó sẽ xuất hiện như sau trong trình duyệt
First name:
Last name:
Bạn chú ý rằng bản thân của form thì bị ẩn đi. Hơn nữa trên hầu hết các trình duyệt trường text được mặc định là 20 ký tự.
Nút radio
Nút radio được sử dụng khi bạn muốn người dùng chọn một trong những lựa chọn bạn đưa ra.
Hộp kiểm được sử dụng khi bạn muốn người chọn có thể chọn nhiều lựa chọn hơn.
<form>
<input type="checkbox" name="bike">
I have a bike
<br>
<input type="checkbox" name="car">
I have a car
</form>
Nó sẽ như sau trong trình duyệt
I have a bike
I have a car
Thuộc tính hoạt động cùa form và nút Submit.
Khi người dùng nhấp chuột vào nút "submit", nội dung của form đó sẽ được gửi đến một tệp tin khác. Thuộct ính hoạt động của form xác định tên của file mà nó sẽ gửi nội dung đến. Tệp tin đó được xác định trong thuộc tính hoạt động của form và thường thì nó sẽ có những hành động với dữ liệu nó nhận được.
Khi bạn gõ tên bạn vào trường chữ ở trên và nhấp vào nút Submit, bạn sẽ gửi thông tin đó vào một trang gọi là "html_form_action.asp". Trang đó sẽ chỉ cho bạn thấy dữ liệu nhận được.
Cách hiện một hoặc nhiều tấm hình từ một thư mục khác hoặc từ một server khác trên trang web của bạn.
Thẻ Image và thuộc tính src
Trong HTML, hình ảnh được xác định bởi thẻ <img>. Để hiển thị một hình trên trang web, bạn cần phải sử dụng thuộc tính src. Src là chữ viết tắt của source. Giá trị của thuộc tính src là địa chỉ URL của hình ảnh mà bạn muốn hiển thị trên trang web.
Trình duyệt sẽ hiển thị hình ảnh nơi mà có thẻ image được chèn trong tài liệu. Nếu bạn muốn thêm thẻ image vào giữa một đoạn văn, trình duyệt sẽ hiển thị đoạn văn thứ nhất trước, sau đó đến hình và sau cùng là đoạn văn thứ hai.
Thuộc tính Alt
Thuộc tính alt được sử dụng để xác định chữ thay cho hình. Bởi vì nếu hình đó không hiện được thì một dòng chữ sẽ xuất hiện để báo cho người đọc biết. Gía trị của thuộc tính alt là một dòng chữ như sau:
<img src="boat.gif" alt="Big Boat">
Thuộc tính alt báo cho người đọc biết họ không xem được hình gì khi mà trình duyệt không load được hình đó. Trình duyệt sau đó sẽ hiển thị dòng chữ thay vì hình ảnh. Bạn nên tạo cho mình thói quen thêm thuộc tính "alt" vào mỗi tấm hình trên một trang, để tăng khả năng hiển thị và giúp những người lướt web mà không dùng hình ảnh.
Dòng code trên cùng thiết lập hình nền thành màu đen.
Background
Thuộc tính background thiết lập một tấm hình làm hình nền. Giá trị của thuộc tính này là địa chỉ URL của tấm hình bạn muốn sử dụng. Nếu một tấm hình nhở hơn so với cửa sổ trình duyệt, tấm hình đó sẽ tự nhân lên đến khi nào nó che phủ hết cửa sổ trình duyệt.
Comments[ 0 ]
Đăng nhận xét