zoukankan      html  css  js  c++  java
  • PC端无论页面有没有完全撑开把footer保持在最底部(不用定位)

    最近在写项目,有的页面没有占到一屏,然后footer也就是底部就靠上了,这样很影响美观,于是在网上找了找,下面是我的成果

    解决该问题的最好方法是采用CSS3提供的一种先进布局模型 :flexbox,可以建立具有适应性的布局。

     下面我们代码走起来

    <body>
    		<div id="header">...</div>
    		<div id="content">...</div>
    		<div class="footer">...</div>
    	</body>
    html{
        height: 100%;
    }
    
    body{
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    
    
    #header{
       /* 我们希望 header 采用固定的高度,只占用必须的空间 */
       /* 0 flex-grow, 0 flex-shrink, auto flex-basis */
       flex: 0 0 auto;
    }
    
    #content{
       /* 将 flex-grow 设置为1,该元素会占用全部可使用空间 
          而其他元素该属性值为0,因此不会得到多余的空间*/
       /* 1 flex-grow, 0 flex-shrink, auto flex-basis */
       flex: 1 0 auto;
    }
    
    #footer{
       /* 和 header 一样,footer 也采用固定高度*/
       /* 0 flex-grow, 0 flex-shrink, auto flex-basis */
       flex: 0 0 auto;
    }
    

      我们利用flex-deraction:column将页面结构竖向排列,(flex默认是横向排列的),同时,将html 和 body 元素的高度设置为100%,使其充满整个屏幕。  

         上面用到了flex包含的3个属性,我来介绍一下他们的用途:

    • flex-grow:元素在同一容器中对可分配空间的分配比率,及扩展比率
    • flex-shrink:如果空间不足,元素的收缩比率
    • flex-basis:元素的伸缩基准值

      也就是header 和footer 只占用他们应该占用的空间,将剩余的空间全部交给主体内容区域

    好啦,到这里,无论页面内容是多是少,都可以保证footer乖乖的待在底部了。

  • 相关阅读:
    JAVA EE 第一阶段项目问题
    车辆管理系统之开始自己的任务(三)
    车辆管理系统之搭建框架 添加必要的数据 安装svn(二)
    车辆管理系统之分析信息建表(一)
    牛客问题
    记录---base64
    JAVA EE 第一阶段考试
    简单ssh框架整合
    Struts2拦截器
    Struts2文件上传
  • 原文地址:https://www.cnblogs.com/eyed/p/8136217.html
Copyright © 2011-2022 走看看