Tóm tắt: HTML5 phản ánh những thay đổi to lớn theo cách mà bây giờ bạn kinh doanh trên web
và trong đám mây. Bài viết này là bài đầu tiên trong một loạt bài bốn phần được thiết kế
để tập trung vào những thay đổi trong HTML5, bắt đầu bằng các thẻ mới và tổ chức trang
và cung cấp thông tin cấp cao về thiết kế trang web, tạo các biểu mẫu, sử dụng và giá
trị của các API, và các khả năng sáng tạo mà Canvas (Khung nền ảnh) cung cấp.
HTML5 là một ngôn ngữ được thiết kế để thiết lập nội dung web. Nó nhằm làm
cho việc thiết kế và phát triển web dễ dàng hơn bằng cách tạo một giao
diện ngôn ngữ đánh dấu chuẩn hóa và trực quan. HTML5 cung cấp các phương
tiện phân tích và phân định các trang của bạn, và nó cho phép bạn tạo các
thành phần rời rạc không chỉ được thiết kế để cấu tạo trang web của bạn
một cách hợp lý mà còn được tạo ra để cung cấp cho trang web của bạn các
khả năng cung cấp thông tin. HTML5 có thể được gọi là "cách tiếp cận lập
bản đồ thông tin để thiết kế trang web" do nó kết hợp yếu tố cơ bản về lập
bản đồ thông tin, phân chia và ghi nhãn thông tin giúp dễ dàng sử dụng và
hiểu thông tin. Đây là nền tảng của tiện ích ngữ nghĩa và thẩm mỹ gây ấn
tượng sâu sắc của HTML5. HTML5 cung cấp khả năng xuất bản tất cả mọi thứ
trên thế giới từ nội dung văn bản đơn giản đến đa phương tiện phong phú,
tương tác cho các nhà thiết kế và các nhà phát triển ở mọi trình độ.
HTML5 cung cấp các công cụ quản lý dữ liệu, vẽ, video, và âm thanh có hiệu
quả. Nó tạo điều kiện cho sự phát triển của các ứng dụng giữa các trình
duyệt với nhau cho trang web cũng như cho các thiết bị di động. HTML5 là
một trong những công nghệ thúc đẩy những cải tiến trong các dịch vụ điện
toán đám mây di động, vì nó tính đến tính linh hoạt rộng hơn, cho phép
phát triển các trang web thú vị và có khả năng tương tác. Nó cũng đưa vào
thẻ và các cải tiến mới, bao gồm cấu trúc thu nhỏ, các nút điều khiển của
biểu mẫu, các API, đa phương tiện, hỗ trợ cơ sở dữ liệu, và tốc độ xử lý
nhanh hơn đáng kể.
Các thẻ mới trong HTML5 có tính hấp dẫn cao, bao trọn cả vai trò và cách sử
dụng của chúng. Các phiên bản trước của HTML thường dùng các thẻ không có
gì nổi bật cả. Tuy nhiên, HTML5 có các nhãn trực quan, có khả năng mô tả
cao. Nó cung cấp các nhãn nội dung phong phú ngay lập tức xác định nội
dung. Ví dụ, thẻ
<div>
bị khai thác quá
mức đã được bổ sung bằng các thẻ
<section>
và
<article>
. Ngoài ra các thẻ
<video>
,
<audio>
,
<canvas>
, và
<figure>
cũng đưa ra sự mô tả chính xác
hơn về các kiểu nội dung cụ thể.
HTML5 cung cấp:
- Các thẻ mô tả chính xác những gì chúng được thiết kế để chứa đựng.
- Truyền thông mạng được tăng cường.
- Lưu trữ chung được cải thiện rất nhiều.
- Các trình làm việc trên nền Web (Web Workers) để chạy các quá trình nền.
- Giao diện WebSocket để thiết lập kết nối liên tục giữa các ứng dụng cư trú và máy chủ.
- Lấy ra dữ liệu đã lưu trữ tốt hơn.
- Cải thiện tốc độ nạp và lưu trang.
- Hỗ trợ cho CSS3 để quản lý giao diện người dùng đồ họa (GUI), có nghĩa là HTML5 có thể được định hướng nội dung.
- Cải thiện xử lý biểu mẫu trình duyệt.
- Một API cơ sở dữ liệu dựa trên-SQL cho phép lưu trữ cục bộ, phía máy khách..
- Canvas và video, để thêm đồ họa và video mà không cần cài đặt các trình cắm thêm của bên thứ ba.
- Đặc tả Geolocation API (API định vị toàn cầu), sử dụng khả năng định vị của máy điện thoại thông minh để kết hợp các dịch vụ và các ứng dụng đám mây di động.
- Các biểu mẫu cải tiến làm giảm nhu cầu phải tải về mã JavaScript, cho phép truyền thông hiệu quả hơn giữa các thiết bị di động và các máy chủ điện toán đám mây.
HTML5 tạo ra sự trải nghiệm người dùng hấp dẫn hơn: Các trang được thiết kế
bằng HTML5 có thể cung cấp một trải nghiệm giống như với các ứng dụng của
máy tính để bàn. HTML5 cũng cung cấp phát triển nhiều nền tảng nâng cao
bằng cách kết hợp khả năng của các API với sự có mặt ở khắp mọi nơi của
trình duyệt. Khi sử dụng HTML5, các nhà phát triển có thể cung cấp một
trải nghiệm ứng dụng hiện đại, trôi chảy qua các nền tảng.
Khi bạn nói HTML5, bạn đang sử dụng phép tốc ký cho sự đổi mới liên tục.
Các thẻ mới, các phương thức mới, và một khung công tác phát triển chung
dựa trên sự tác động lẫn nhau của HTML5 và hai đối tác của nó, CSS3 và
JavaScript. Đây là cốt lõi của hiện tượng xử lý ứng dụng lấy máy khách làm
trung tâm. Ngoài các việc triển khai các kỹ thuật và các phương thức của
công nghệ HTML5 cho máy tính để bàn, có thể triển khai thực hiện HTML5
trong nhiều trình duyệt điện thoại di động web có tính năng phong phú
— một thị trường đang phát triển, khi đã chứng kiến sự
phổ biến và lan tràn của các hệ điều hành web Apple iPhone, Google
Android, và các điện thoại chạy Palm.
Một khía cạnh quan trọng về sức mạnh của HTML5 là lập bản đồ thông tin
— hoặc chặn nội dung, nếu bạn thích —
tạo ra một quá trình dễ hiểu hơn nhiều. Bạn có thể thấy công cụ này thích
hợp cho việc thiết kế và phát triển hiệu quả như thế nào nhờ ưu thế ngày
càng tăng của nó trong thế giới xử lý web.
HTML5 báo hiệu sự ra đời của một quá trình ngữ nghĩa có hiệu quả hơn ở mức
văn bản và kiểm soát tốt hơn qua việc xây dựng và sử dụng các biểu mẫu.
Tất cả những phẩm chất này và nhiều điểm tốt đẹp khác nữa của sự đổi mới
HTML5 là cơ sở cho sự thống trị ngày càng tăng của mô hình này. Nhiều thực
thể cơ quan, thương mại và các tổ chức khác nữa — thậm chí
nhiều tổ chức trong số đó hầu như liên quan rất ít đến việc xử lý thông
tin và truyền thông như là hoạt động cơ quan chính của họ —
theo mức độ này hay mức khác bị tràn ngập bởi sự phát triển của hiện tượng
đang phát triển này.
HTML5 không phải là cây đèn thần, và không có gì là thần thánh cả. Tuy
nhiên, các tài sản kỹ thuật và phương pháp luận của nó đã làm cho nó trở
thành điều tốt nhất ngay sau khi cọ xát vào đèn.
Lập kế hoạch trang
Bạn sẽ tạo một trang web đơn giản. Trong quá trình này, tôi thảo luận một
số trong các thẻ mới đã được đưa vào trong HTML5. Để tạo hiệu quả như một
trang web hiệu quả, bạn phải phát triển một kế hoạch để xem xét tất cả các
thành phần bạn muốn chế tạo.
Trang web mà bạn tạo ra sẽ có thiết kế cao cấp được hiển thị trong Hình 1.
Thiết kế trang có một vùng Header (Tiêu đề), một vùng Navigation (Chuyển
hướng), một vùng Article (Bài viết) có chứa ba Section (phần), một Aside
(Nhận xét), và cuối cùng, là vùng Footer (Chân trang). Trang này được
thiết kế để làm việc trong trình duyệt Google Chrome, trừ một số thứ lộn
xộn thấy được, có thể xảy ra cùng với khả năng tương thích giữa các trình
duyệt, bắt nguồn từ việc hiệu chỉnh cũng như cản trở hiểu biết về cấu trúc
cơ bản. Mục đích là để tạo ra một trang mô tả rõ ràng việc sử dụng các thẻ
HTML5 mới, cho thấy bạn có thể sử dụng chúng như thế nào để tạo ra mã đúng
định dạng và thiết kế trang ngắn gọn.
Hình 1. Kế hoạch trang web của Acme United
Trong quá trình tạo trang này, tôi đụng phải CSS3, cần thiết để biểu thị
đúng các trang HTML5. CSS3 là cần thiết cho định kiểu, chuyển hướng, và
cảm nhận chung về trang HTML5. Các nhóm đặc tính của nó, mà bạn có thể tìm
thấy tại trang web tham khảo CSS3 W3Schools, bao gồm một số phần tử có ích như nền, phông chữ, màn
che, và hình ảnh động.
Tuy nhiên, trước khi bạn bắt đầu xây dựng trang web này, bạn cần phải tìm
hiểu về một số thẻ mới của HTML5.
Vùng Header
Vùng Header ví dụ chứa tiêu đề và phụ đề trang. Bạn sử dụng thẻ
<header>
để tạo ra nội dung cho vùng
Header
của trang. Thẻ
<header>
có thể chứa thông tin mở về một
<section>
và
<article>
ngoài chính trang web đó. Trang
web được tạo ra ở đây có một vùng Header
cho
trang này, được hiển thị trong thiết kế cao cấp, cũng như vùng
Header
ở bên trong vùng Article và Section.
Liệt kê 1 đưa ra một ví dụ đánh dấu thẻ
<header>
. Liệt kê 1. Ví dụ thẻ <header>
<header> <h1>Heading Text</h1> <p> Text or images can be included here</p> <p> Logos are frequently placed here too</p> </header> |
Thẻ
<header>
cũng có thể chứa một thẻ
<hgroup>
, như trong Liệt kê 2. Thẻ
<hgroup>
tạo nhóm các tiêu đề với nhau,
bằng cách sử dụng các mức tiêu đề <h1>
đến <h6>
được hiển thị ở đây có một tiêu
đề chính và một phụ đề. Liệt kê 2. Ví dụ thẻ <hgroup>
<header> <hgroup> <h1>Main Heading</h1> <h2>Sub-heading </h2> </hgroup> <p> Text or images can be included here</p> </header> |
Vùng Navigation
Bạn tạo vùng Navigation (Chuyển hướng) của trang bằng cách sử dụng thẻ
<nav>
. Phần tử
<nav>
định nghĩa một vùng đặc biệt dành
cho chuyển hướng. Thẻ <nav>
nên được sử
dụng để chuyển hướng trang web chính, không dùng để thiết lập các liên kết
có chứa trong các vùng khác của trang. Vùng Navigation này có thể chứa mã
như được hiển thị trong Liệt kê 3. Liệt kê 3. Ví dụ thẻ <nav>
<nav> <ul> <li><a href="#">Home</a></li> <li><a href="#">About Us</a></li> <li><a href="#">Our Products</a></li> <li><a href="#">Contact Us</a></li> </ul> </nav> |
Các vùng Article và Section
Trang web mà bạn đang thiết kế có chứa một phần Article, giữ nội dung thực
sự của trang. Bạn sử dụng thẻ
<article>
để tạo vùng này, và thẻ đó định nghĩa nội dung có thể được sử dụng độc lập
với các nội dung khác được tìm thấy trên trang này. Ví dụ, nếu bạn muốn
tạo ra một nguồn cấp dữ liệu RSS, bạn có thể sử dụng
<article>
để xác định nội dung duy nhất.
Thẻ <article>
xác định nội dung có thể
được gỡ bỏ và được đặt trong ngữ cảnh khác và có thể hoàn toàn dễ
hiểu.
Vùng Article trong kế hoạch của Acme United có chứa ba vùng Section. Bạn
tạo ra các vùng này bằng cách sử dụng thẻ
<section>
. Một <section>
chứa các vùng thành phần của nội dung trang
web có liên quan . Thẻ <section>
— và thẻ <article>
nữa
— có thể chứa các header (tiêu đề), các footer (chân
trang), hoặc bất kỳ các thành phần nào khác cần thiết để hoàn thành phần
này. Thẻ <section>
dùng cho nội dung tạo
nhóm. Nội dung cho cả hai thẻ <section>
và thẻ <article>
thường bắt đầu bằng một
<header>
và kết thúc bằng một <footer>
, với nội dung cho thẻ này ở giữa.
Thẻ
<section>
cũng có thể chứa các thẻ
<article>
, cũng giống như thẻ
<article>
có thể chứa các thẻ
<section>
. Thẻ
<section>
nên được dùng để tạo nhóm thông
tin giống nhau, và thẻ <article>
nên được
sử dụng cho các thông tin như một bài viết hoặc một blog mà chúng có thể
bị gỡ bỏ và được đặt trong một ngữ cảnh mới mà không ảnh hưởng đến ý nghĩa
của nội dung. Thẻ <article>
như tên gọi
của nó, cung cấp một gói thông tin đầy đủ. Ngược lại, thẻ
<section>
chứa thông tin liên quan, trừ
thông tin không thể được đặt trong một ngữ cảnh khác với chính nó, do
nghĩa của nó sẽ bị mất.
Xem Liệt kê 4 với một ví dụ về cách sử dụng thẻ
<article>
và
<section>
. Liệt kê 4. Ví dụ thẻ <article> và thẻ <section>
<article> <section> Content </section> <section> Content </section> </article> <section> <article> Content </article> <article> Content </article> </section> |
Các phần tử ảnh
Cả hai thẻ
<section>
và thẻ
<article>
cũng như thẻ
<header>
và thẻ
<footer>
có thể chứa thẻ
<figure>
. Bạn sử dụng thẻ này để chứa các
ảnh, các sơ đồ, và các ảnh chụp.
Thẻ
<figure>
có thể chứa thẻ
<figcaption>
, thẻ này chứa lần lượt các
chú thích cho hình minh họa có trong thẻ
<figure>
, cho phép bạn nhập một mô tả để
có thể gắn hình minh họa chặt chẽ hơn với nội dung. Liệt kê 5 đưa ra một
ví dụ về cấu trúc thẻ <figure>
và thẻ
<figcaption>
. Liệt kê 5. Ví dụ thẻ <figure> và thẻ <figcaption>
<figure> <img src="/figure.jpg" width="304" height="228" alt="Picture"> <figcaption>Caption for the figure</figcaption> </figure> |
Các phần tử phương tiện
Các thẻ
<section>
và
<article>
cũng có thể chứa các phần tử
phương tiện khác nhau. HTML5 cung cấp các thẻ để truyền đạt nhanh một sự
hiểu biết về nội dung của chúng. Các phần tử phương tiện, chẳng hạn như âm
nhạc và video thường trước đây chỉ nhúng vào, bây giờ có thể được xác định
chính xác hơn.
Thẻ
<audio>
xác định nội dung âm thanh,
chẳng hạn như âm nhạc hoặc luồng âm thanh khác bất kỳ. Thẻ
<audio>
có các thuộc tính để kiểm soát
những gì, khi nào, và làm thế nào để âm thanh sẽ được phát. Các thuộc tính
là src
, preload
(nạp
trước), control
(điều khiển),
loop
(vòng lặp), và
autoplay
(phát tự động). Trong ví dụ ở Liệt kê
6, âm thanh bắt đầu phát ngay sau khi tải trang này và sẽ phát liên tục và
đưa ra các nút điều khiển để người dùng có thể dừng lại hoặc phát lại âm
thanh. Liệt kê 6. Ví dụ thẻ <audio>
<audio src="MyFirstMusic.ogg" controls autoplay loop> Your browser does not support the audio tag. </audio> |
Thẻ
<video>
cho phép bạn phát các đoạn
video hoặc tạo luồng phương tiện trực quan. Nó có tất cả các thuộc tính
của thẻ <audio>
cộng thêm ba thuộc tính
nữa là: poster
(quảng cáo),
width
(chiều rộng), và
height
(chiều cao). Thuộc tính
poster
cho phép bạn xác định một hình ảnh được
sử dụng trong khi video đang tải hoặc trong hoàn cảnh không may khi các
video sẽ không tải được chút nào.
Liệt kê 7 cung cấp một ví dụ về cấu tạo thẻ
<video>
. Liệt kê 7. Ví dụ thẻ <video>
<video src="MyFirstMovie.ogg" controls="controls"> Your browser does not support the video tag </video> |
Các thẻ
<video>
và
<audio>
có thể chứa thẻ
<Source>
, để định nghĩa tài nguyên đa
phương tiện cho các thẻ <video>
và
<audio>
. Với phần tử này, bạn định rõ các
tệp video và âm thanh thay thế để từ các tệp này sau đó trình duyệt có thể
lựa chọn dựa vào kiểu phương tiện của mình hoặc sự hỗ trợ của codec (bộ mã
hóa/giải mã). Trong Liệt kê 8, có hai sự lựa chọn. Nếu không thể phát
phiên bản WMA của tệp này trong trình duyệt đang được sử dụng, thì hãy thử
MP3. Nếu không, sẽ hiển thị thông báo để người sử dụng biết lý do âm thanh
không có sẵn. Liệt kê 8. Ví dụ thẻ <source>
<audio> <source src="/music/good_enough.wma" type="audio/x-ms-wma"> <source src="/music/good_enough.mp3" type="audio/mpeg"> <p>Your browser does not support the HTML 'audio' element.</p> </audio> |
Thẻ
<embed>
định nghĩa nội dung nhúng có
thể được đưa vào một trang — ví dụ, một trình cắm thêm cho
các tệp SWF của Adobe Flash. Liệt kê 9 có chứa thuộc tính type
(kiểu), xác định nguồn nhúng là một tệp
Flash. Liệt kê 9. Ví dụ thẻ <embed>
<embed src="MyFirstVideo.swf" type="application/x-shockwave-flash" /> |
Ngoài các thuộc tính
src
và
type
, thẻ
<embed>
có có thuộc tính
height
(chiều cao) và
width
(chiều rộng).
Vùng Aside
Bạn tạo vùng Aside theo kế hoạch Acme United bằng cách sử dụng thẻ
<aside>
. Hãy nghĩ về thẻ này khi cần tạo
nội dung bổ sung mà không còn chỗ nào của bài viết để thêm vào. Trong các
tạp chí, các vùng nhận xét thường được sử dụng để làm nổi bật một điểm đã
được thực hiện trong chính bài viết đó. Thẻ
<aside>
chứa nội dung có thể được loại bỏ
mà không ảnh hưởng đến các thông tin được truyền đạt bởi bài viết, phần,
hoặc trang có chứa nó.
Liệt kê 10 đưa ra một ví dụ về cách sử dụng thẻ
<aside>
. Liệt kê 10. Ví dụ thẻ <aside>
<p>My family and I visited Euro Disney last year.</p> <aside> <h4>Disney in France</h4> <p>Besides Euro Disney, there is a Disneyland in California.</p> </aside>
Vùng Footer
Phần tử
<footer>
chứa thông tin về một
trang, bài viết, hoặc một phần, chẳng hạn như tác giả hoặc ngày viết bài.
Là một phần cuối trang, nó có thể chứa bản quyền hoặc thông tin pháp lý
quan trọng khác, như trong Liệt kê 11. Liệt kê 11. Ví dụ thẻ <footer>
<footer> <p>Copyright 2011 Acme United. All rights reserved.</p> </footer>
Xây dựng trang
Bây giờ bạn biết các thẻ cơ bản cần thiết để tạo ra một trang HTML5, chúng
ta hãy bắt đầu xây dựng trang web của bạn. Bạn sẽ xây dựng một trang web
cho Acme United. Trang hoàn thành được hiển thị trong Hình 2 và bạn có thể
tải về để sử dụng (xem Tải về).
Hình 2. Trang web Acme United
Nào, chúng ta hãy thiết lập trang. Trước tiên, có
<!doctype>
. Trong HTML5, <!doctype>
đã được đơn giản hóa: Tất cả mọi thứ bạn cần
nhớ là html
. Việc này không chỉ làm đơn giản
hoá mục nhập cho thẻ này, mà cũng làm cho nó nâng cấp dễ dàng hơn. Lưu ý
rằng nó không được gọi là html5
, mà chỉ là
html
. Bất kể có bao nhiêu phiên bản HTML có
thể đến và đi, thì <!doctype>
luôn luôn
có thể chỉ là html
.
Thẻ
<html>
chứa tất cả các phần tử HTML
khác, trừ thẻ <!doctype>
. Tất cả các phần
tử khác phải được lồng vào giữa thẻ
<html>
và
</html>
. Xem Liệt kê 12. Liệt kê 12. Ví dụ thẻ <!doctype>
<!doctype html> <html lang="en"> |
Sau khi chỉ ra
html
và ngôn ngữ tiếng Anh, bạn
có phần tử <head>
, có thể chứa các kịch
bản lệnh, thông tin hỗ trợ trình duyệt, các liên kết bảng định kiểu, siêu
thông tin, và các hàm khởi tạo khác. Bạn có thể sử dụng các thẻ sau trong
phần head
: <base>
<link>
<meta>
<script>
<style>
<title>
Thẻ
<title>
(đầu đề) là nơi giữ đầu đề
hiện tại của tài liệu và là một phần tử của phần
<head>
cần thiết. Đó là đầu đề mà bạn
nhìn thấy ở phía trên cùng của trình duyệt khi xem trang. Thẻ
<link>
trong Liệt kê 13 xác định bảng
định kiểu CSS3 sẽ được sử dụng để biểu thị trang HTML5. Bảng định kiểu
được gọi là main-stylesheet.css. Liệt kê 13. Ví dụ thẻ <head>
<head> <title>HTML5 Fundamentals Example</title> <link rel="stylesheet" href="main-stylesheet.css" /> </head> |
Tiếp theo, bạn sử dụng thẻ
<body>
, ngay
sau các thẻ <header>
và
<hgroup>
, được mô tả ở trên. Vùng
<h1>
trong ví dụ này chứa tên của công ty
hư cấu của bạn, Acme United, và vùng <h2>
chứa các thông tin thông báo cho bạn rằng đó là phụ đề "Một ví dụ HTML5
đơn giản". Liệt kê 14 cho thấy sự đánh dấu này. Liệt kê 14. Ví dụ thẻ <body> và thẻ <header>
<body > <header> <hgroup> <h1>Acme United</h1> <h2>A Simple HTML5 Example</h2> </hgroup> </header> |
Cho đến nay CSS3 thường dùng để thiết lập trang được hiện thị trong Liệt kê
15. Trước tiên, bạn thiết lập phông chữ cho trang, và sau đó các chi tiết
cho phần thân. Bạn định nghĩa các kích thước của phần thân, rồi bạn thiết
kế cấu trúc đoạn tiêu đề cho các thẻ tiêu đề cấp đầu tiên và cấp thứ hai.
Đây là các tiêu đề mà bạn sẽ sử dụng cho trang này.
Liệt kê 15. ví dụ CSS3 #1
* { font-family: Lucida Sans, Arial, Helvetica, sans-serif; } body { width: 800px; margin: 0em auto; } header h1 { font-size: 50px; margin: 0px; color: #006; } header h2 { font-size: 15px; margin: 0px; color: #99f; font-style: italic; } |
Liệt kê 16 hiển thị thẻ
<nav>
, được thiết
kế để xử lý chuyển hướng trang web chính. Liệt kê 16. Ví dụ thẻ <nav>
<nav> <ul> <li><a href="#">Home</a></li> <li><a href="#">About Us</a></li> <li><a href="#">Contact Us</a></li> </ul> </nav> |
HTML5 cũng có một thẻ
<menu>
— một thẻ đã gây ra sự nhầm lẫn đối với một số nhà thiết kế
và các nhà phát triển. Sự nhầm lẫn bắt nguồn từ thực tế rằng việc chuyển
hướng thường được đề cập như là "trình đơn chuyển hướng". Thẻ <menu>
, đã bị phản đối trong HTML phiên bản
4.01 và được tái sinh trong HTML5, được thiết kế để tăng cường tính tương
tác. Không nên sử dụng nó cho chuyển hướng chính. Thẻ duy nhất nên được sử
dụng cho chuyển hướng chính là thẻ <nav>
.
Bạn sẽ sử dụng thẻ <menu>
sau trong ví dụ
này.
Định dạng của chuyển hướng được CSS3 xử lý. Mỗi định nghĩa thẻ
<nav>
được hiển thị trong Liệt kê 17 đại
diện cho một trạng thái cụ thể của các phần tử
<ul>
và
<li>
bên trong thẻ
<nav>
. Liệt kê 17. Ví dụ CSS3 #2
nav ul { list-style: none; padding: 0px; display: block; clear: right; background-color: #99f; padding-left: 4px; height: 24px; } nav ul li { display: inline; padding: 0px 20px 5px 10px; height: 24px; border-right: 1px solid #ccc; } nav ul li a { color: #006; text-decoration: none; font-size: 13px; font-weight: bold; } nav ul li a:hover { color: #fff; } |
Tiếp theo là vùng Article. Vùng này, được định nghĩa bằng thẻ
<article>
, chứa thông tin
<header>
riêng của mình. Thẻ
<section>
có trong thẻ
<article>
cũng chứa một thẻ
<header>
riêng của mình. Xem Liệt kê 18. Liệt kê 18. Ví dụ thẻ <article> và <section>
<article> <header> <h1> <a href="#" title="Link to this post" rel="bookmark">Article Heading</a> </h1> </header> <p> Primum non nocere ad vitam Paramus . . . </p> <section> <header> <h1>This is the first section heading</h1> </header> <p>Scientia potentia est qua nocent docentp . . .</p> </section> |
Liệt kê 19 cho thấy cách đánh dấu CSS3 để đưa ra định dạng này. Lưu ý rằng
định nghĩa cho các vùng
paragraph
(đoạn),
header
, và section
tất cả đều được định nghĩa cho thẻ
<article>
có chứa chúng trong đó. Ở đây
thẻ <h1>
được định nghĩa không có cùng
định dạng như thẻ <h1>
đã định nghĩa cho
thẻ <h1>
của mức-trang. Liệt kê 19. Ví dụ CSS3 #3
article > header h1 { font-size: 40px; float: left; margin-left: 14px; } article > header h1 a { color: #000090; text-decoration: none; } article > section header h1 { font-size: 20px; margin-left: 25px; } article p { clear: both; margin-top: 0px; margin-left: 50px; } |
Thẻ
<section>
thứ hai trong
<article>
chứa cùng thông tin cơ bản như
là <section>
, đầu tiên, nhưng lần này bạn
sẽ sử dụng một thẻ <aside>
, một thẻ
<figure>
, một thẻ
<menu>
>, và một thẻ
<mark>
. Xem Liệt kê 20.
Thẻ
<aside>
được sử dụng ở đây để trình
bày thông tin không phải là một phần của luồng quanh nó. Thẻ
<figure>
chứa một ảnh đồ họa của
Stonehenge. Thẻ <section>
này cũng chứa
thẻ <menu>
, mà bạn sử dụng để tạo các nút
nhấn có các tên là 4 Muse. Khi một trong các nút này được nhấn, nó cung
cấp thông tin về Muse cụ thể. Thẻ <mark>
được sử dụng bên trong thẻ <p>
để làm nổi
bật các từ veni, vidi, vici.
Liệt kê 20. Ví dụ thẻ <article> và <section>
<section> <header> <h1>Second section with mark, aside, menu & figure</h1> </header> <p class="next-to-aside"> . . . <mark>veni, vidi, vici</mark>. Mater . . .</p> <aside> <p>This is an aside that has multiple lines. . . .</p> </aside> <menu label="File"> <button type="button" onClick="JavaScript:alert('Clio . . .')">Clio</button> <button type="button" onClick="JavaScript:alert('Thalia . . .')">Thalia</button> <button type="button" onClick="JavaScript:alert ('Urania . . .')">Urania</button> <button type="button" onClick="JavaScript:alert ('Calliope . . .')">Calliope</button> </menu> <figure><img src="stonehenge.jpg" alt="Stonehenge" width="200" height="131"/> <figcaption>Figure 1. Stonehenge</figcaption> </figure> </section> |
CSS3 cho phần này đã có một định nghĩa mới cho thẻ
<p>
có chiều rộng ngắn hơn chiều rộng mà
bạn đặt cho trang này. Sự thay đổi này cho phép nhận xét bắt đầu ở bên
phải mà không đè vào văn bản. Liệt kê 21 cho thấy cách đánh dấu này. Liệt kê 21. Ví dụ CSS3 #4
article p.next-to-aside { width: 500px; } article > section figure { margin-left: 180px; margin-bottom: 30px; } article > section > menu { margin-left: 120px; } aside p { position:relative; left:0px; top: -100px; z-index: 1; width: 200px; float: right; font-style: italic; color: #99f; } |
Các phần tử phần video
Đây là thành phần cuối cùng của phần tử
<article>
: phần
video
. Video ví dụ là một định dạng ogg tự động
phát khi trang được tải, các vòng lặp liên tục, và cung cấp các nút điều
khiển để tạm dừng và phát. Trong nhiều trường hợp hiện nay, các video định
dạng ogg sử dụng phần mở rộng ogv (v cho video), như
trong Liệt kê 22. Thẻ <audio>
làm việc
theo cùng cách này. Liệt kê 22. Ví dụ <article> và <section>
<section> <header> <h1>This is a video section</h1> </header> <p><video src="http://people.xiph.org/~maikmerten/demos/BigBuckBunny.ogv" controls autoplay loop> <div class="no-html5-video"><p>This video will work in Mozilla Firefox or Google Chrome only. </p> </div> </video></p> </section> </article> |
Liệt kê 23 cung cấp các định nghĩa CSS3 cho phần
video
. Liệt kê 23. Ví dụ CSS3 #5
article > section video { height: 200px; margin-left: 180px; } article > section div.no-html5-video{ height: 20px; text-align: center; color: #000090; font-size: 13px; font-style: italic; font-weight: bold ; background-color: #99f; } |
Phần tử footer và kết thúc trang này được hiển thị trong Liệt kê 24.
Liệt kê 24. Ví dụ thẻ <footer>
<footer> <p>Copyright: 2011 Acme United. All rights reserved.</p> </footer> </body> </html> |
CSS3 cho phần tử footer được hiển thị trong Liệt kê 25.
Liệt kê 25. Ví dụ CSS3 #5
footer p { text-align: center; font-size: 12px; color: #888; margin-top: 24px; } |
Kết luận
Việc hoàn thành trang web của bạn cũng kết thúc phần đầu tiên của loạt bài
nhiều phần này. Mục tiêu của bài viết này là giới thiệu chế độ HTML5 mới.
HTML5 còn có nhiều hơn chỉ là một bản nâng cấp cho HTML4: Đó là cách mới
để truyền thông kỹ thuật số. Với chức năng của CSS3 và JavaScript, HTML5
mang lại cho các nhà phát triển mọi thứ trong một gói-giả. Nếu bạn sẵn
sàng hấp thụ những gì mà bạn cần từ một lượng lớn thông tin HTML5 ngoài
thông tin hiện có để sử dụng chung của chúng ta, thì bạn sẽ gia nhập vào
đội ngũ các nhà phát triển và các nhà thiết kế web đa phương tiện HTML5
giỏi không ngừng tăng. Phần đăng tiếp theo của loạt bài này sẽ xem xét
cách mã hóa và định dạng các biểu mẫu HTML5.
Xem tiếp phần II
0 comments:
Post a Comment