SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Bài 5
Bố cục trang cơ bản
NHẮC LẠI BÀI TRƯỚC
Tìm hiểu về box (hộp), cấu trúc box trên một trang
của trang website:
Tầm quan trọng
Kích thước
Vị trí
Thuộc tính của box:
Thuộc tính về nội dung
Thuộc tính về vị trí
Thuộc tính về hiển thị
Tìm hiểu về box (hộp), cấu trúc box trên một trang
của trang website:
Tầm quan trọng
Kích thước
Vị trí
Thuộc tính của box:
Thuộc tính về nội dung
Thuộc tính về vị trí
Thuộc tính về hiển thị
Bài 5 - Bố cục trang cơ bản 2
MỤC TIÊU BÀI HỌC
Tìm hiểu về một số Layout phổ biến
Layout nổi (float) & Layout tuyệt đối (absolute)
Ngăn tràn bố cục
Một số vấn đề khi căn chỉnh cột Layout
Tìm hiểu về một số Layout phổ biến
Layout nổi (float) & Layout tuyệt đối (absolute)
Ngăn tràn bố cục
Một số vấn đề khi căn chỉnh cột Layout
Bài 5 - Bố cục trang cơ bản 3
MỘT SỐ BỐ CỤC
BỐ CỤC TRANG (LAYOUT)
Layout thường được chia thành nhiều cột
Rõ ràng trong việc thiết kế CSS
Áp dụng được tính kế thừa
Đảm bảo nội dung được lấp đầy
Không bị xô lệch giữa các box trong layout
Bài 5 - Bố cục trang cơ bản
Layout thường được chia thành nhiều cột
Rõ ràng trong việc thiết kế CSS
Áp dụng được tính kế thừa
Đảm bảo nội dung được lấp đầy
Không bị xô lệch giữa các box trong layout
5
MỘT SỐ DẠNG BỐ CỤC
layout
2 cột
3 cột…
Bài 5 - Bố cục trang cơ bản
layout 3 cột
4 cột
…
6
BỐ CỤC 2 CỘT
http://blog.jingproject.com/
Bài 5 - Bố cục trang cơ bản 7
BỐ CỤC 3 CỘT
http://www.amazon.com
Bài 5 - Bố cục trang cơ bản 8
BỐ CỤC 4 CỘT
http://www.alistapart.com/
Bài 5 - Bố cục trang cơ bản 9
BỐ CỤC 2 CỘT CHIỀU RỘNG CỐ ĐỊNH
Demo ví dụ trong các file:
2_col.html -> cấu trúc và nội dung trang
2_col.css -> đặt css để tạo layout
text_n_colors.css -> định style và màu cho text
Demo ví dụ trong các file:
2_col.html -> cấu trúc và nội dung trang
2_col.css -> đặt css để tạo layout
text_n_colors.css -> định style và màu cho text
Bài 5 - Bố cục trang cơ bản 10
BỐ CỤC 3 CỘT THƯỜNG
Không khai báo giá trị width
Sử dụng ràng buộc:
max-width:…;
min-width:…;
<body>
<div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>-->
<div id="header"><!--<địnhnghĩa phần header của trang web>-->
<div id="header_inner">…</div>
</div>
<div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>--
>
<div id="nav_inner">…</div>
</div>
<div id="content">
<div id=“content_inner“>…</div>
</div>
<div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>-->
<div id="footer_inner“>…</div>
</div>
</div>
</body>
Bài 5 - Bố cục trang cơ bản
Không khai báo giá trị width
Sử dụng ràng buộc:
max-width:…;
min-width:…;
11
<body>
<div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>-->
<div id="header"><!--<địnhnghĩa phần header của trang web>-->
<div id="header_inner">…</div>
</div>
<div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>--
>
<div id="nav_inner">…</div>
</div>
<div id="content">
<div id=“content_inner“>…</div>
</div>
<div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>-->
<div id="footer_inner“>…</div>
</div>
</div>
</body>
TỔ CHỨC BOX
main_wrapper
nav
header
Bài 5 - Bố cục trang cơ bản 12
nav
footer
content
CSS THIẾT LẬP BỐ CỤC 2 CỘT
body {
text-align:center;
}
#main_wrapper {
width:840px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:22%;
float:left;
}
#content {
width:78%;
float:left;
top:0px;
}
#footer {
clear:both;
}
Bài 5 - Bố cục trang cơ bản 13
body {
text-align:center;
}
#main_wrapper {
width:840px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:22%;
float:left;
}
#content {
width:78%;
float:left;
top:0px;
}
#footer {
clear:both;
}
BỐ CỤC 2 CỘT LINH HOẠT
Không khai báo giá trị width
Sử dụng ràng buộc thiết lập giới hạn kích thước thay
đổi của thẻ:
max-width: thiết lập kích thước lớn nhất
min-width: thiết lập kích thước nhỏ nhất
Bài 5 - Bố cục trang cơ bản
Không khai báo giá trị width
Sử dụng ràng buộc thiết lập giới hạn kích thước thay
đổi của thẻ:
max-width: thiết lập kích thước lớn nhất
min-width: thiết lập kích thước nhỏ nhất
14
BỐ CỤC LINH HOẠT 2 CỘT
Bài 5 - Bố cục trang cơ bản 15
Nội dung co giãn
theo chiều rộng
THIẾT LẬP BỐ CỤC 2 CỘT LINH HOẠT
body {
text-align:center;
}
#main_wrapper {
width:840px;
max-width:960px;
min-width:720px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:22%;
width:140px;
float:left;
}
#content {
width:78%;
float:left;
margin-left:140px;
top:0px;
}
#footer {
clear:both;
}
Bài 5 - Bố cục trang cơ bản 16
body {
text-align:center;
}
#main_wrapper {
width:840px;
max-width:960px;
min-width:720px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:22%;
width:140px;
float:left;
}
#content {
width:78%;
float:left;
margin-left:140px;
top:0px;
}
#footer {
clear:both;
}
BỐ CỤC 3 CỘT THƯỜNG
Bố cục ba cột có chiều rộng cố định làm việc giống
như phiên bản có hai cột.
Chia 100% chiều rộng cho ba cột theo tỷ lệ mong
muốn.
Bài 5 - Bố cục trang cơ bản 17
BỐ CỤC 3 CỘT THƯỜNG
Không khai báo giá trị width
Sử dụng ràng buộc:
max-width:…;
min-width:…;
<body>
<div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>-->
<div id="header"><!--<địnhnghĩa phần header của trang web>-->
<div id="header_inner">…</div>
</div>
<div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>-->
<div id="nav_inner">…</div>
</div>
<div id="content">
<div id=“content_inner“>…</div>
</div>
<div id=“promo"> <!--<địnhnghĩa vùng quảng cáo của trang web>-->
<div id=“promo_inner“>…</div>
</div>
<div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>-->
<div id="footer_inner“>…</div>
</div>
</div>
</body>
Bài 5 - Bố cục trang cơ bản
Không khai báo giá trị width
Sử dụng ràng buộc:
max-width:…;
min-width:…;
18
<body>
<div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>-->
<div id="header"><!--<địnhnghĩa phần header của trang web>-->
<div id="header_inner">…</div>
</div>
<div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>-->
<div id="nav_inner">…</div>
</div>
<div id="content">
<div id=“content_inner“>…</div>
</div>
<div id=“promo"> <!--<địnhnghĩa vùng quảng cáo của trang web>-->
<div id=“promo_inner“>…</div>
</div>
<div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>-->
<div id="footer_inner“>…</div>
</div>
</div>
</body>
BỐ CỤC 3 CỘT THƯỜNG
promo
Bài 5 - Bố cục trang cơ bản 19
CSS THIẾT LẬP BỐ CỤC 3 CỘT
body {
text-align:center;
}
#main_wrapper {
width:840px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:18%;
float:left;
}
#content {
width:60%;
float:left;
}
#promo {
width:22%;
float:left;
}
#footer {
clear:both;
}
Bài 5 - Bố cục trang cơ bản 20
body {
text-align:center;
}
#main_wrapper {
width:840px;
margin-left:auto;
margin-right:auto;
text-align:left;
}
#header {
}
#nav {
width:18%;
float:left;
}
#content {
width:60%;
float:left;
}
#promo {
width:22%;
float:left;
}
#footer {
clear:both;
}
BỐ CỤC 3 CỘT LINH HOẠT
Mọi thứ trở nên phức tạp hơn nếu ta muốn thêm
tính linh hoạt và căn giữa cho bố cục ba cột, trong
đó vùng nội dung thay đổi chiều rộng khi cửa sổ
trình duyệt thay đổi kích thước, nhưng các cột hai
bên vẫn giữ nguyên kích thước cũ
Chuyên gia CSS Ryan Brill nhanh chóng tìm ra câu
trả lời - sử dụng lề âm - và giải pháp của ông trở
thành giải pháp CSS cổ điển, hiện được dùng trong
vô số trang web có bố cục linh hoạt.
Bài 5 - Bố cục trang cơ bản 21
Mọi thứ trở nên phức tạp hơn nếu ta muốn thêm
tính linh hoạt và căn giữa cho bố cục ba cột, trong
đó vùng nội dung thay đổi chiều rộng khi cửa sổ
trình duyệt thay đổi kích thước, nhưng các cột hai
bên vẫn giữ nguyên kích thước cũ
Chuyên gia CSS Ryan Brill nhanh chóng tìm ra câu
trả lời - sử dụng lề âm - và giải pháp của ông trở
thành giải pháp CSS cổ điển, hiện được dùng trong
vô số trang web có bố cục linh hoạt.
BỐ CỤC 3 CỘT LINH HOẠT
Bài 5 - Bố cục trang cơ bản 22
CHIỀU NGANG CỦA TRANG
Điều khiển được chiều ngang của những bố cục này
là chìa khóa xử lý cách chúng hoạt động.
Người dùng rất ghét phải cuộn trang sang ngang
Bạn muốn tạo bố cục mở rộng theo chiều dọc để có
đủ không gian chứa nội dung mà không cần thay
đổi chiều ngang
Tổng kích thước chiều ngang của tất cả các box
trong trang web không nên vượt quá kích thước
chiều ngang của toàn trang
Điều khiển được chiều ngang của những bố cục này
là chìa khóa xử lý cách chúng hoạt động.
Người dùng rất ghét phải cuộn trang sang ngang
Bạn muốn tạo bố cục mở rộng theo chiều dọc để có
đủ không gian chứa nội dung mà không cần thay
đổi chiều ngang
Tổng kích thước chiều ngang của tất cả các box
trong trang web không nên vượt quá kích thước
chiều ngang của toàn trang
Bài 5 - Bố cục trang cơ bản 23
BỐ CỤC NỔI & BỐ CỤC TUYỆT ĐỐI
BỐ CỤC NỔI (FLOAT LAYOUT)
Dễ dàng trong việc căn chỉnh
Tránh được hiện tượng xô lệch cột
Sử dụng thẻ overflow để tránh hiện tượng xô lệch
các cột
Overflow: điều khiển cách tác động của thẻ lên nội
dung bên trong
Sử dụng kèm clear
Dễ dàng trong việc căn chỉnh
Tránh được hiện tượng xô lệch cột
Sử dụng thẻ overflow để tránh hiện tượng xô lệch
các cột
Overflow: điều khiển cách tác động của thẻ lên nội
dung bên trong
Sử dụng kèm clear
Bài 5 - Bố cục trang cơ bản 25
BỐ CỤC NỔI (FLOAT LAYOUT)
overflow
auto
hidden
inherit
Bài 5 - Bố cục trang cơ bản
overflow inherit
scroll
visible
26
BỐ CỤC NỔI (FLOAT LAYOUT)
#nav { width:22%; float:left; }
#content { width:78%; float:left; top:0px; }
#footer { clear:both; }
Bài 5 - Bố cục trang cơ bản 27
BỐ CỤC TUYỆT ĐỐI (ABSOLUTE LAYOUT)
Các cột được quy định vị trí chính xác trong mọi
trường hợp (web browser, độ phân giải …)
Các cột hoàn toàn độc lập, không tương tác với
nhau  các cột phía dưới không được đẩy xuống
Khắc phục vấn đề này bằng Javascript
Bài 5 - Bố cục trang cơ bản 28
NGĂN TRÀN BỐ CỤC
Thuộc tính overflow của CSS điều khiển cách các thẻ
làm việc với nội dung bên trong chúng.
Giá trị:
visible: làm cho thẻ mở rộng để bao bọc nội dung
bên trong
hidden: cột sẽ giữ nguyên chiều rộng của nó và hiển
thị phần ảnh vừa trong nó - không thay đổi kích
thước.
Thuộc tính overflow của CSS điều khiển cách các thẻ
làm việc với nội dung bên trong chúng.
Giá trị:
visible: làm cho thẻ mở rộng để bao bọc nội dung
bên trong
hidden: cột sẽ giữ nguyên chiều rộng của nó và hiển
thị phần ảnh vừa trong nó - không thay đổi kích
thước.
Bài 5 - Bố cục trang cơ bản 29
CĂN CHỈNH LAYOUT
CĂN CHỈNH LAYOUT
Không giống như layout xây dựng trên nền bảng
(table), layout xây dựng trên nền tảng div không
làm cho các cột có cùng độ dài.
Có thể sửa chiều cao của div, nhưng không nên
Chiều cao của div (cả trang web) phụ thuộc vào nội
dung được đưa ra
Chúng ta cần chỉnh để có ảo giác rằng tất cả các cột
có cùng chiều cao, bằng cách
Đặt kiểu cột Faux
Lập trình mở rộng div
Không giống như layout xây dựng trên nền bảng
(table), layout xây dựng trên nền tảng div không
làm cho các cột có cùng độ dài.
Có thể sửa chiều cao của div, nhưng không nên
Chiều cao của div (cả trang web) phụ thuộc vào nội
dung được đưa ra
Chúng ta cần chỉnh để có ảo giác rằng tất cả các cột
có cùng chiều cao, bằng cách
Đặt kiểu cột Faux
Lập trình mở rộng div
Bài 5 - Bố cục trang cơ bản 31
CỘT FAUX
Phương thức này liên quan tới việc thêm hình nền
cho thẻ div wrapper của trang
Lặp lại hình nền để lấp đầy không gian trống
Bài 5 - Bố cục trang cơ bản 32
CỘT FAUX
#main_wrapper { max-width:960px; min-width:720px; margin-
left:auto; margin-right:auto; text-align:left;
background:url(../../../chapter_5/code/images/2_col_faux_art.gif)
repeat-y;}
#main_wrapper { max-width:960px; min-width:720px; margin-
left:auto; margin-right:auto; text-align:left;
background:url(../../../chapter_5/code/images/2_col_faux_art.gif)
repeat-y;}
Bài 5 - Bố cục trang cơ bản 33
LẬP TRÌNH MỞ RỘNG DIV
Sử dụng Javascript để xác định cột dài nhất và điều
chỉnh cho phù hợp với những cột khác
CSS sử dụng DOM để thiết lập thuộc tính thẻ.
JavaScript là một ngôn ngữ kịch bản mạnh mẽ cũng
có thể lấy (và thiết lập) tất cả thuộc tính của mọi
thẻ trong DOM (ví dụ như chiều cao của div) và
thực hiện mọi loại xử lý trên chúng
Sử dụng Javascript để xác định cột dài nhất và điều
chỉnh cho phù hợp với những cột khác
CSS sử dụng DOM để thiết lập thuộc tính thẻ.
JavaScript là một ngôn ngữ kịch bản mạnh mẽ cũng
có thể lấy (và thiết lập) tất cả thuộc tính của mọi
thẻ trong DOM (ví dụ như chiều cao của div) và
thực hiện mọi loại xử lý trên chúng
Bài 5 - Bố cục trang cơ bản 34
LẬP TRÌNH MỞ RỘNG DIV
<script type="text/javascript"> window.onload=function(){
Nifty("div#nav,div#content,div#promo","medium same-height");
Nifty("div#header,div#footer","medium");
AddCss ("../../lib/nifty_corners/css/niftyCorners.css");
} </script>
<script type="text/javascript"> window.onload=function(){
Nifty("div#nav,div#content,div#promo","medium same-height");
Nifty("div#header,div#footer","medium");
AddCss ("../../lib/nifty_corners/css/niftyCorners.css");
} </script>
Bài 5 - Bố cục trang cơ bản 35
TỔNG KẾT
Sử dụng loại bố cục layout tùy thuộc vào từng dự
án, khối lượng nội dung đưa ra của dự án
Sử dụng bố cục nổi có ưu điểm:
Dễ căn chỉnh
Hạn chế được hiện tượng xô lệch layout
Ngăn tràn bố cục bằng cách sử dụng thuộc tính
overflow
Không nên đặt chiều cao cho div trong CSS
Căn chỉnh chiều cao cột: thường sử dụng phương
pháp cột Faux
Sử dụng loại bố cục layout tùy thuộc vào từng dự
án, khối lượng nội dung đưa ra của dự án
Sử dụng bố cục nổi có ưu điểm:
Dễ căn chỉnh
Hạn chế được hiện tượng xô lệch layout
Ngăn tràn bố cục bằng cách sử dụng thuộc tính
overflow
Không nên đặt chiều cao cho div trong CSS
Căn chỉnh chiều cao cột: thường sử dụng phương
pháp cột Faux
Bài 5 - Bố cục trang cơ bản 36

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Slide 2 - Thiết kế Web cơ bản
Slide 2 - Thiết kế Web cơ bảnSlide 2 - Thiết kế Web cơ bản
Slide 2 - Thiết kế Web cơ bản
 
Slide 4 - Thiết kế Web cơ bản
Slide 4 - Thiết kế Web cơ bảnSlide 4 - Thiết kế Web cơ bản
Slide 4 - Thiết kế Web cơ bản
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPT
 
Slide 3 - Thiết kế Web cơ bản
Slide 3 - Thiết kế Web cơ bảnSlide 3 - Thiết kế Web cơ bản
Slide 3 - Thiết kế Web cơ bản
 
Slide3
Slide3Slide3
Slide3
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
 
Slide 1 - Thiết kế Web cơ bản
 Slide 1 - Thiết kế Web cơ bản Slide 1 - Thiết kế Web cơ bản
Slide 1 - Thiết kế Web cơ bản
 
Slide2
Slide2Slide2
Slide2
 
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
 
BÀI 6 Làm việc với thành phần FORM, SPRY trong DREAMWEAVER CS4 - Giáo trình FPT
BÀI 6 Làm việc với thành phần FORM, SPRY trong DREAMWEAVER CS4 - Giáo trình FPTBÀI 6 Làm việc với thành phần FORM, SPRY trong DREAMWEAVER CS4 - Giáo trình FPT
BÀI 6 Làm việc với thành phần FORM, SPRY trong DREAMWEAVER CS4 - Giáo trình FPT
 
Slide5
Slide5Slide5
Slide5
 
Web1012 slide 3
Web1012   slide 3Web1012   slide 3
Web1012 slide 3
 
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với DreamweaverGiáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
 
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
 
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theoBài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
Bài 4: Template & điều hướng trang Web - Giáo trình FPT - Có ví dụ kèm theo
 
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPTBÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
 
BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...
BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...
BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...
 
Slide6
Slide6Slide6
Slide6
 
Slide1
Slide1Slide1
Slide1
 
Html full
Html fullHtml full
Html full
 

Destacado

Destacado (16)

BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
 
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
 
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPTBài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
 
Bài 2 Cài Đặt Joomla
Bài 2 Cài Đặt JoomlaBài 2 Cài Đặt Joomla
Bài 2 Cài Đặt Joomla
 
BÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPTBÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPT
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
 
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTBài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
 
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 

Similar a Bài 5 Bố cục trang cơ bản - Giáo trình FPT

Bài 7 - Xây dựng layout cho trang web.docx
Bài 7 - Xây dựng layout cho trang web.docxBài 7 - Xây dựng layout cho trang web.docx
Bài 7 - Xây dựng layout cho trang web.docx
TrongNguyn1
 
Slide6 - Co ban HTML5
Slide6 - Co ban HTML5Slide6 - Co ban HTML5
Slide6 - Co ban HTML5
Đặng Til
 
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
TrongNguyn1
 
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docxBài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
TrongNguyn1
 
Bootstrap learning for every one and all
Bootstrap learning for every one and allBootstrap learning for every one and all
Bootstrap learning for every one and all
vietdv1
 
Bài 2 - Trang Web Giới Thiệu (2).docx
Bài 2 - Trang Web Giới Thiệu (2).docxBài 2 - Trang Web Giới Thiệu (2).docx
Bài 2 - Trang Web Giới Thiệu (2).docx
TrongNguyn1
 

Similar a Bài 5 Bố cục trang cơ bản - Giáo trình FPT (20)

Bài 7 - Xây dựng layout cho trang web.docx
Bài 7 - Xây dựng layout cho trang web.docxBài 7 - Xây dựng layout cho trang web.docx
Bài 7 - Xây dựng layout cho trang web.docx
 
Web2022 slide 8
Web2022   slide 8Web2022   slide 8
Web2022 slide 8
 
Thiết kế giao diện với Liquid
Thiết kế giao diện với LiquidThiết kế giao diện với Liquid
Thiết kế giao diện với Liquid
 
Slide6 html5
Slide6 html5Slide6 html5
Slide6 html5
 
Slide6 - Co ban HTML5
Slide6 - Co ban HTML5Slide6 - Co ban HTML5
Slide6 - Co ban HTML5
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
Bài 3 - Trang Web Giới Thiệu Môn Học (tt)
 
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docxBài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
Bài 3 - Trang Web Giới Thiệu Môn Học (tt).docx
 
Bizweb theme workshop
Bizweb theme workshopBizweb theme workshop
Bizweb theme workshop
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5
 
Html
HtmlHtml
Html
 
Bootstrap learning for every one and all
Bootstrap learning for every one and allBootstrap learning for every one and all
Bootstrap learning for every one and all
 
Joomla developermanual
Joomla developermanualJoomla developermanual
Joomla developermanual
 
Tài liệu lập trình jQuery
Tài liệu lập trình jQueryTài liệu lập trình jQuery
Tài liệu lập trình jQuery
 
Web1012 slide 2
Web1012   slide 2Web1012   slide 2
Web1012 slide 2
 
Hướng dẫn lập trình web với PHP - Ngày 4
Hướng dẫn lập trình web với PHP - Ngày 4Hướng dẫn lập trình web với PHP - Ngày 4
Hướng dẫn lập trình web với PHP - Ngày 4
 
Bài 2 - Trang Web Giới Thiệu (2).docx
Bài 2 - Trang Web Giới Thiệu (2).docxBài 2 - Trang Web Giới Thiệu (2).docx
Bài 2 - Trang Web Giới Thiệu (2).docx
 
Css
CssCss
Css
 
Ajax
AjaxAjax
Ajax
 

Más de MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 

Más de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Bài 5 Bố cục trang cơ bản - Giáo trình FPT

  • 1. Bài 5 Bố cục trang cơ bản
  • 2. NHẮC LẠI BÀI TRƯỚC Tìm hiểu về box (hộp), cấu trúc box trên một trang của trang website: Tầm quan trọng Kích thước Vị trí Thuộc tính của box: Thuộc tính về nội dung Thuộc tính về vị trí Thuộc tính về hiển thị Tìm hiểu về box (hộp), cấu trúc box trên một trang của trang website: Tầm quan trọng Kích thước Vị trí Thuộc tính của box: Thuộc tính về nội dung Thuộc tính về vị trí Thuộc tính về hiển thị Bài 5 - Bố cục trang cơ bản 2
  • 3. MỤC TIÊU BÀI HỌC Tìm hiểu về một số Layout phổ biến Layout nổi (float) & Layout tuyệt đối (absolute) Ngăn tràn bố cục Một số vấn đề khi căn chỉnh cột Layout Tìm hiểu về một số Layout phổ biến Layout nổi (float) & Layout tuyệt đối (absolute) Ngăn tràn bố cục Một số vấn đề khi căn chỉnh cột Layout Bài 5 - Bố cục trang cơ bản 3
  • 5. BỐ CỤC TRANG (LAYOUT) Layout thường được chia thành nhiều cột Rõ ràng trong việc thiết kế CSS Áp dụng được tính kế thừa Đảm bảo nội dung được lấp đầy Không bị xô lệch giữa các box trong layout Bài 5 - Bố cục trang cơ bản Layout thường được chia thành nhiều cột Rõ ràng trong việc thiết kế CSS Áp dụng được tính kế thừa Đảm bảo nội dung được lấp đầy Không bị xô lệch giữa các box trong layout 5
  • 6. MỘT SỐ DẠNG BỐ CỤC layout 2 cột 3 cột… Bài 5 - Bố cục trang cơ bản layout 3 cột 4 cột … 6
  • 7. BỐ CỤC 2 CỘT http://blog.jingproject.com/ Bài 5 - Bố cục trang cơ bản 7
  • 8. BỐ CỤC 3 CỘT http://www.amazon.com Bài 5 - Bố cục trang cơ bản 8
  • 9. BỐ CỤC 4 CỘT http://www.alistapart.com/ Bài 5 - Bố cục trang cơ bản 9
  • 10. BỐ CỤC 2 CỘT CHIỀU RỘNG CỐ ĐỊNH Demo ví dụ trong các file: 2_col.html -> cấu trúc và nội dung trang 2_col.css -> đặt css để tạo layout text_n_colors.css -> định style và màu cho text Demo ví dụ trong các file: 2_col.html -> cấu trúc và nội dung trang 2_col.css -> đặt css để tạo layout text_n_colors.css -> định style và màu cho text Bài 5 - Bố cục trang cơ bản 10
  • 11. BỐ CỤC 3 CỘT THƯỜNG Không khai báo giá trị width Sử dụng ràng buộc: max-width:…; min-width:…; <body> <div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>--> <div id="header"><!--<địnhnghĩa phần header của trang web>--> <div id="header_inner">…</div> </div> <div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>-- > <div id="nav_inner">…</div> </div> <div id="content"> <div id=“content_inner“>…</div> </div> <div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>--> <div id="footer_inner“>…</div> </div> </div> </body> Bài 5 - Bố cục trang cơ bản Không khai báo giá trị width Sử dụng ràng buộc: max-width:…; min-width:…; 11 <body> <div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>--> <div id="header"><!--<địnhnghĩa phần header của trang web>--> <div id="header_inner">…</div> </div> <div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>-- > <div id="nav_inner">…</div> </div> <div id="content"> <div id=“content_inner“>…</div> </div> <div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>--> <div id="footer_inner“>…</div> </div> </div> </body>
  • 12. TỔ CHỨC BOX main_wrapper nav header Bài 5 - Bố cục trang cơ bản 12 nav footer content
  • 13. CSS THIẾT LẬP BỐ CỤC 2 CỘT body { text-align:center; } #main_wrapper { width:840px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:22%; float:left; } #content { width:78%; float:left; top:0px; } #footer { clear:both; } Bài 5 - Bố cục trang cơ bản 13 body { text-align:center; } #main_wrapper { width:840px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:22%; float:left; } #content { width:78%; float:left; top:0px; } #footer { clear:both; }
  • 14. BỐ CỤC 2 CỘT LINH HOẠT Không khai báo giá trị width Sử dụng ràng buộc thiết lập giới hạn kích thước thay đổi của thẻ: max-width: thiết lập kích thước lớn nhất min-width: thiết lập kích thước nhỏ nhất Bài 5 - Bố cục trang cơ bản Không khai báo giá trị width Sử dụng ràng buộc thiết lập giới hạn kích thước thay đổi của thẻ: max-width: thiết lập kích thước lớn nhất min-width: thiết lập kích thước nhỏ nhất 14
  • 15. BỐ CỤC LINH HOẠT 2 CỘT Bài 5 - Bố cục trang cơ bản 15 Nội dung co giãn theo chiều rộng
  • 16. THIẾT LẬP BỐ CỤC 2 CỘT LINH HOẠT body { text-align:center; } #main_wrapper { width:840px; max-width:960px; min-width:720px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:22%; width:140px; float:left; } #content { width:78%; float:left; margin-left:140px; top:0px; } #footer { clear:both; } Bài 5 - Bố cục trang cơ bản 16 body { text-align:center; } #main_wrapper { width:840px; max-width:960px; min-width:720px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:22%; width:140px; float:left; } #content { width:78%; float:left; margin-left:140px; top:0px; } #footer { clear:both; }
  • 17. BỐ CỤC 3 CỘT THƯỜNG Bố cục ba cột có chiều rộng cố định làm việc giống như phiên bản có hai cột. Chia 100% chiều rộng cho ba cột theo tỷ lệ mong muốn. Bài 5 - Bố cục trang cơ bản 17
  • 18. BỐ CỤC 3 CỘT THƯỜNG Không khai báo giá trị width Sử dụng ràng buộc: max-width:…; min-width:…; <body> <div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>--> <div id="header"><!--<địnhnghĩa phần header của trang web>--> <div id="header_inner">…</div> </div> <div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>--> <div id="nav_inner">…</div> </div> <div id="content"> <div id=“content_inner“>…</div> </div> <div id=“promo"> <!--<địnhnghĩa vùng quảng cáo của trang web>--> <div id=“promo_inner“>…</div> </div> <div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>--> <div id="footer_inner“>…</div> </div> </div> </body> Bài 5 - Bố cục trang cơ bản Không khai báo giá trị width Sử dụng ràng buộc: max-width:…; min-width:…; 18 <body> <div id="main_wrapper"><!--<địnhnghĩa div chứa toàn bộ nội dung web>--> <div id="header"><!--<địnhnghĩa phần header của trang web>--> <div id="header_inner">…</div> </div> <div id="nav"><!--<địnhnghĩa vùng chứa navigator (điều hướng) của trang web>--> <div id="nav_inner">…</div> </div> <div id="content"> <div id=“content_inner“>…</div> </div> <div id=“promo"> <!--<địnhnghĩa vùng quảng cáo của trang web>--> <div id=“promo_inner“>…</div> </div> <div id="footer"><!--<địnhnghĩa vùng chân (footer) của trang web>--> <div id="footer_inner“>…</div> </div> </div> </body>
  • 19. BỐ CỤC 3 CỘT THƯỜNG promo Bài 5 - Bố cục trang cơ bản 19
  • 20. CSS THIẾT LẬP BỐ CỤC 3 CỘT body { text-align:center; } #main_wrapper { width:840px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:18%; float:left; } #content { width:60%; float:left; } #promo { width:22%; float:left; } #footer { clear:both; } Bài 5 - Bố cục trang cơ bản 20 body { text-align:center; } #main_wrapper { width:840px; margin-left:auto; margin-right:auto; text-align:left; } #header { } #nav { width:18%; float:left; } #content { width:60%; float:left; } #promo { width:22%; float:left; } #footer { clear:both; }
  • 21. BỐ CỤC 3 CỘT LINH HOẠT Mọi thứ trở nên phức tạp hơn nếu ta muốn thêm tính linh hoạt và căn giữa cho bố cục ba cột, trong đó vùng nội dung thay đổi chiều rộng khi cửa sổ trình duyệt thay đổi kích thước, nhưng các cột hai bên vẫn giữ nguyên kích thước cũ Chuyên gia CSS Ryan Brill nhanh chóng tìm ra câu trả lời - sử dụng lề âm - và giải pháp của ông trở thành giải pháp CSS cổ điển, hiện được dùng trong vô số trang web có bố cục linh hoạt. Bài 5 - Bố cục trang cơ bản 21 Mọi thứ trở nên phức tạp hơn nếu ta muốn thêm tính linh hoạt và căn giữa cho bố cục ba cột, trong đó vùng nội dung thay đổi chiều rộng khi cửa sổ trình duyệt thay đổi kích thước, nhưng các cột hai bên vẫn giữ nguyên kích thước cũ Chuyên gia CSS Ryan Brill nhanh chóng tìm ra câu trả lời - sử dụng lề âm - và giải pháp của ông trở thành giải pháp CSS cổ điển, hiện được dùng trong vô số trang web có bố cục linh hoạt.
  • 22. BỐ CỤC 3 CỘT LINH HOẠT Bài 5 - Bố cục trang cơ bản 22
  • 23. CHIỀU NGANG CỦA TRANG Điều khiển được chiều ngang của những bố cục này là chìa khóa xử lý cách chúng hoạt động. Người dùng rất ghét phải cuộn trang sang ngang Bạn muốn tạo bố cục mở rộng theo chiều dọc để có đủ không gian chứa nội dung mà không cần thay đổi chiều ngang Tổng kích thước chiều ngang của tất cả các box trong trang web không nên vượt quá kích thước chiều ngang của toàn trang Điều khiển được chiều ngang của những bố cục này là chìa khóa xử lý cách chúng hoạt động. Người dùng rất ghét phải cuộn trang sang ngang Bạn muốn tạo bố cục mở rộng theo chiều dọc để có đủ không gian chứa nội dung mà không cần thay đổi chiều ngang Tổng kích thước chiều ngang của tất cả các box trong trang web không nên vượt quá kích thước chiều ngang của toàn trang Bài 5 - Bố cục trang cơ bản 23
  • 24. BỐ CỤC NỔI & BỐ CỤC TUYỆT ĐỐI
  • 25. BỐ CỤC NỔI (FLOAT LAYOUT) Dễ dàng trong việc căn chỉnh Tránh được hiện tượng xô lệch cột Sử dụng thẻ overflow để tránh hiện tượng xô lệch các cột Overflow: điều khiển cách tác động của thẻ lên nội dung bên trong Sử dụng kèm clear Dễ dàng trong việc căn chỉnh Tránh được hiện tượng xô lệch cột Sử dụng thẻ overflow để tránh hiện tượng xô lệch các cột Overflow: điều khiển cách tác động của thẻ lên nội dung bên trong Sử dụng kèm clear Bài 5 - Bố cục trang cơ bản 25
  • 26. BỐ CỤC NỔI (FLOAT LAYOUT) overflow auto hidden inherit Bài 5 - Bố cục trang cơ bản overflow inherit scroll visible 26
  • 27. BỐ CỤC NỔI (FLOAT LAYOUT) #nav { width:22%; float:left; } #content { width:78%; float:left; top:0px; } #footer { clear:both; } Bài 5 - Bố cục trang cơ bản 27
  • 28. BỐ CỤC TUYỆT ĐỐI (ABSOLUTE LAYOUT) Các cột được quy định vị trí chính xác trong mọi trường hợp (web browser, độ phân giải …) Các cột hoàn toàn độc lập, không tương tác với nhau  các cột phía dưới không được đẩy xuống Khắc phục vấn đề này bằng Javascript Bài 5 - Bố cục trang cơ bản 28
  • 29. NGĂN TRÀN BỐ CỤC Thuộc tính overflow của CSS điều khiển cách các thẻ làm việc với nội dung bên trong chúng. Giá trị: visible: làm cho thẻ mở rộng để bao bọc nội dung bên trong hidden: cột sẽ giữ nguyên chiều rộng của nó và hiển thị phần ảnh vừa trong nó - không thay đổi kích thước. Thuộc tính overflow của CSS điều khiển cách các thẻ làm việc với nội dung bên trong chúng. Giá trị: visible: làm cho thẻ mở rộng để bao bọc nội dung bên trong hidden: cột sẽ giữ nguyên chiều rộng của nó và hiển thị phần ảnh vừa trong nó - không thay đổi kích thước. Bài 5 - Bố cục trang cơ bản 29
  • 31. CĂN CHỈNH LAYOUT Không giống như layout xây dựng trên nền bảng (table), layout xây dựng trên nền tảng div không làm cho các cột có cùng độ dài. Có thể sửa chiều cao của div, nhưng không nên Chiều cao của div (cả trang web) phụ thuộc vào nội dung được đưa ra Chúng ta cần chỉnh để có ảo giác rằng tất cả các cột có cùng chiều cao, bằng cách Đặt kiểu cột Faux Lập trình mở rộng div Không giống như layout xây dựng trên nền bảng (table), layout xây dựng trên nền tảng div không làm cho các cột có cùng độ dài. Có thể sửa chiều cao của div, nhưng không nên Chiều cao của div (cả trang web) phụ thuộc vào nội dung được đưa ra Chúng ta cần chỉnh để có ảo giác rằng tất cả các cột có cùng chiều cao, bằng cách Đặt kiểu cột Faux Lập trình mở rộng div Bài 5 - Bố cục trang cơ bản 31
  • 32. CỘT FAUX Phương thức này liên quan tới việc thêm hình nền cho thẻ div wrapper của trang Lặp lại hình nền để lấp đầy không gian trống Bài 5 - Bố cục trang cơ bản 32
  • 33. CỘT FAUX #main_wrapper { max-width:960px; min-width:720px; margin- left:auto; margin-right:auto; text-align:left; background:url(../../../chapter_5/code/images/2_col_faux_art.gif) repeat-y;} #main_wrapper { max-width:960px; min-width:720px; margin- left:auto; margin-right:auto; text-align:left; background:url(../../../chapter_5/code/images/2_col_faux_art.gif) repeat-y;} Bài 5 - Bố cục trang cơ bản 33
  • 34. LẬP TRÌNH MỞ RỘNG DIV Sử dụng Javascript để xác định cột dài nhất và điều chỉnh cho phù hợp với những cột khác CSS sử dụng DOM để thiết lập thuộc tính thẻ. JavaScript là một ngôn ngữ kịch bản mạnh mẽ cũng có thể lấy (và thiết lập) tất cả thuộc tính của mọi thẻ trong DOM (ví dụ như chiều cao của div) và thực hiện mọi loại xử lý trên chúng Sử dụng Javascript để xác định cột dài nhất và điều chỉnh cho phù hợp với những cột khác CSS sử dụng DOM để thiết lập thuộc tính thẻ. JavaScript là một ngôn ngữ kịch bản mạnh mẽ cũng có thể lấy (và thiết lập) tất cả thuộc tính của mọi thẻ trong DOM (ví dụ như chiều cao của div) và thực hiện mọi loại xử lý trên chúng Bài 5 - Bố cục trang cơ bản 34
  • 35. LẬP TRÌNH MỞ RỘNG DIV <script type="text/javascript"> window.onload=function(){ Nifty("div#nav,div#content,div#promo","medium same-height"); Nifty("div#header,div#footer","medium"); AddCss ("../../lib/nifty_corners/css/niftyCorners.css"); } </script> <script type="text/javascript"> window.onload=function(){ Nifty("div#nav,div#content,div#promo","medium same-height"); Nifty("div#header,div#footer","medium"); AddCss ("../../lib/nifty_corners/css/niftyCorners.css"); } </script> Bài 5 - Bố cục trang cơ bản 35
  • 36. TỔNG KẾT Sử dụng loại bố cục layout tùy thuộc vào từng dự án, khối lượng nội dung đưa ra của dự án Sử dụng bố cục nổi có ưu điểm: Dễ căn chỉnh Hạn chế được hiện tượng xô lệch layout Ngăn tràn bố cục bằng cách sử dụng thuộc tính overflow Không nên đặt chiều cao cho div trong CSS Căn chỉnh chiều cao cột: thường sử dụng phương pháp cột Faux Sử dụng loại bố cục layout tùy thuộc vào từng dự án, khối lượng nội dung đưa ra của dự án Sử dụng bố cục nổi có ưu điểm: Dễ căn chỉnh Hạn chế được hiện tượng xô lệch layout Ngăn tràn bố cục bằng cách sử dụng thuộc tính overflow Không nên đặt chiều cao cho div trong CSS Căn chỉnh chiều cao cột: thường sử dụng phương pháp cột Faux Bài 5 - Bố cục trang cơ bản 36