Cđịnh Header và Footer tn c tnh duyệt
Hôm nay lang thang trên mng vành c tìm hiu được một kỹ thuật rất hay
và có tính ứng dụng cao trong vic làm layout cho Website. Nội dung chính
của kỹ thuật đó là chúng ta s gicho phần Header và phần Footer cố định,
còn phn nội dung ở giữa sẽ xuất hiện thanh Scroll trong trường hợp nó dài quá
độ dàin nh.
Đểm được như vậy tớc kia chúng ta thường sử dụng 3 iFrame, một iFrame
cho phn Header, một iFrame cho phần Footer và 1 iFrame cho phn Content.
Tuy nhiên trong bài viết này cng ta skhông sử dng iFrame mà chúng ta s
sử dụng các thẻ div như thông thường và định vị chúng bằng CSS.
Đầu tiên gi sử cng ta sẽ tạo ra một file HTML có định dạng như sau:
view source
print?
01.<html>
02.<head>...</head>
03.<body>
04.
05.
06. <h1>Header</h1>
07.
08.
09.
10. <!-- Phn nội dung -->
11.
12.
13.
14. Footer
15.
16.
17. </body>
18.</html>
y giờ chúng ta sẽ ng CSS để định vị các thẻ DIV để đạt được yêu cu của
chúng ta:
Bước 1: Định dạng chung cho toàn trang:
view source
print?
01.body {
02. background: #fff;
03. color: #222;
04. font-family: Arial, Tahoma, Verdana, sans-serif;
05. font-size: 12px;
06. height: 100%;
07. line-height: 1.6;
08. margin: 0;
09. padding: 0;
10. text-align: center;
11. overflow: hidden;
12.}
Tuy nhiên phn định dạng trên ch dành cho các tnh duyệt như Firefox,
Opera, Safari, Chrome. Còn đối với IE chúng ta cần hack thêm thuc tính
height width cho nó.
view source
print?
1./* for internet explorer */
2. * html body { padding:120px 0 50px 0; }
Bước 2: Định vị phần Header của trang:
view source
print?
01./* Header */
02.#header {
03. background: #222;
04. border-bottom: 5px solid #333;
05. color: #fff;
06. height: 120px;
07. line-height: 120px;
08. text-align: center;
09. position: absolute;
10. padding: 0;
11. top: 0;
12. left: 0;
13. width: 100%;
14.}
15.
16.#header h1 {
17. font-size: 200%;
18. margin: 0;
19. text-transform: uppercase;
20.}
Bước 3: Định vị phần nội dung của trang:
view source
print?
01./* Content */
02.#content {
03. position: fixed;
04. top: 120px;
05. left: 0;