css:min-height不兼容火狐浏览器的解决方法

黄舟
黄舟 原创
2017-07-21 09:37:40 2188浏览

我们在进行页面架构的时候,一般会分成三个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也能实现最小高度和内容超出自适应了。

以上就是css:min-height不兼容火狐浏览器的解决方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。