css:min-height不相容Firefox瀏覽器的解決方案

來源:互聯網
上載者:User
我們在進行頁面架構的時候,一般會分成三個section:header、body、footer。如下面這個頁面:

這個時候我們就需要對body部分進行最小高度設定,才能避免footer部分出現在頁面中間的情況。比方說下面在這個寫法:

.page-content-header {      min-height: 5%;}.page-content-body {      min-height: 100%;}.page-content-footer {      min-height: 5%;}

這樣的寫法會讓body部分有個充滿頁面大小的高度,footer部分自然會在頁面的最低端,而且當body部分的內容超出了100%時,高度會自動撐開,不會出現溢出的情況。

但是,問題來了,Firefox瀏覽器不相容這種寫法,min-height:100% 完全不生效,我們可以用以下方法來進行相容:

.page-content-body {      min-height: 100%;      /*Firefox相容*/      min-height: 600px !important;}.page-content-body:after {     content:"";  visibility:hidden;  display:block;  clear:both;  height:0px;}

首先我們用 !important 來對Firefox瀏覽器做hack,設定一個最小高度600px,然後利用虛擬元素 :after來做樣式清除,以達到當內容超出最小高度時,高度會相應增加的目的。

我們設定顯示框類型display為區塊層級元素block,設定clear為左右兩側都不允許浮動元素,我們插入的產生內容content為空白,然後設定高度為0,將元素設定為不可見。

這樣就能讓Firefox也能實現最小高度和內容超出自適應了。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.