Kỹ thuật đưa footer xuống cuối trang
Khi chúng ta thiết kế layout của trang Web dạng bảng (table) thì việc đưa phần
footer lúco cũng phía dưới là mt việc hết sức đơn gin. Nhưng khi bạn
làm việc với layout dạng <div> thì việc đưa phần footer lúc nào cũng phía
dưới là một điều rất khó khăn. Mặc dù như vy các Designer CSS vẫn nghĩ ra
được các thủ thuật (trick) để thực hin việc đó.
Sau đây cng ta sẽ đi chi tiết về thủ thuật này:
Trước khi đi vào chi tiết để có một hình dung cụ thể chúng ta cùng xem d
minh ha sau.
Ý tưởng chủ đo của kỹ thuật này là cng ta s dùng một thẻ <div> có chiều
cao là 100% để đẩy phn footer xuống phía dưới, khi đó thì phần footer sẽ bị
đẩy ra ngoài phm vi của trang và kng thnhìn thy được.
Để có thnhìn thy được phần footer chúng ta sẽ đặt thuộcnh margin-bottom
của phần wrapper bằng âm với mục đích là gim chiều cao của phần wrapper
một khoảng đúng bằng chiu cao của phần footer. Từ đó cng ta thể hoàn
toàn nn thấy phần footer.
Dựa trên ý tưng như vậy cng ta có định dạng HTML như sau:
view source
print?
01./* BEGIN: WRAPPER */
02.<div class="wrapper">
03.
04. <div class="header">
05. <h1>CSS Sticky Footer</h1>
06. </div>
07.
08. <div class="content">
09. Nội dung content...
10. </div>
11.
12. <div class="push"></div>
13.</div>
14./* END: WRAPPER */
15.
16./* BEGIN: FOOTER */
17.<div class="footer">
18. <p>Nội dung footer...</p>
19.</div>
20./* END: FOOTER*/
Để cho phần wrapper có chiều cao 100% chúng ta định dạng các thuộc tính
CSS của nó như sau:
view source
print?
1..wrapper {
2. ...
3. min-height: 100%; /* Fix cho firefox */
4. height: auto !important;
5. height: 100%;
6. ...
7.}
Khi đó phn footer sẽ bị đy ra ngoài trang, để cho thể nhìn thấy được ta
cần phải đặt margin-bottom của phần wrapper bằng âm.
view source
print?
1..wrapper {
2. ...
3. margin: 0 auto -4em;
4. ...
5.}
Phn margin âm này phi có chiều cao đúng bằng chiều cao của phn footer.
Khi đó phn footer s được hiển thị hoàn toàn.