火狐min-height不兼容解決方法


我們在進行頁面架構的時候,一般會分成三個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%時,高度會自動撐開,不會出現溢出的情況。

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

.page-content-body {
  min-height: 100%;
  /*火狐兼容*/
  min-height: 600px !important;
}

.page-content-body:after {
  content:"";
  visibility:hidden;
  display:block;
  clear:both;
  height:0px;
}

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

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 IE6不支持min-height或max-width等完美解決方法 css中heigh、min-height和max-height的使用 min-width,min-height,overflow,移動端 copyright底部欄定位css樣式(min-height) 【css】max-height,min-height,height一起使用時,優先級問題 width/height、min-width/min-height、max-width/max-height 初始值 父元素設置min-height子元素設置100%問題 父元素高度設置為min-height,子元素高度設置為100%,但實際上子元素高度你知道是多少嗎?(2019-10-26更新) 關於打開火狐瀏覽器時會多打開一個360窗口的解決方法 Vue直接引用