zoukankan      html  css  js  c++  java
  • js 固定底部 footer/自动计算页面高度

    更新一种更简单的 css 方法:

    .main {
       /* header: 30px; footer:100px; total:130px*/ 
      min-height: calc(100vh - 130px); 
    }

      

    calc() 函数用于动态计算长度值。

    • 需要注意的是,运算符前后都需要保留一个空格,例如: calc(100% - 10px)
    • 任何长度值都可以使用calc()函数进行计算;
    • calc()函数支持 "+", "-", "*", "/" 运算;
    • calc()函数使用标准的数学运算优先级规则;

    除了 display: fixed,方法将 footer 固定在底部,记录下用 js 获取页面 innerHeight,计算出 main 的高度。

    HTML:

    <body>
      <header>header</header>
      <main class="main">main</main>
      <footer>footer</footer>
    </body>

    JS:

    function windowHeight () {
         // header: 30px; footer:100px; total:130px
            let mainMinHeight = window.innerHeight - 130
            mainMinHeight = bodyMinHeight > 0 ? bodyMinHeight : 0
            document.getElementsByClassName('main')[0].style.minHeight = mainMinHeight + 'px'
    }
    

      

     vue 中使用:

    new Vue({
        el,
        data () {
          return {
            windowHeight: 0,
          }
        },
        watch: {
          windowHeight: function (newHeight) {
            // brand-header: 36px; nav-header: 60px; footer:193px; main.margin-top: 5px; total:294px
            let mainMinHeight = newHeight - 294
            mainMinHeight = mainMinHeight > 0 ? mainMinHeight : 0
            document.getElementsByClassName('main')[0].style.minHeight = mainMinHeight + 'px'
          },
        },
        mounted () {
          this.windowHeight = window.innerHeight
          this.$nextTick(() => {
            window.addEventListener('resize', () => {
              this.windowHeight = window.innerHeight
            })
          })
        },
    })
    

      

  • 相关阅读:
    夯实JavaScript基础之prototype, __proto__, instanceof
    入住博客园
    基础知识盲点——2
    Vuecli开发笔记三引入外部插件
    转让阿里云服务器(CPU2G+内存2G+带宽5M+硬盘150G)
    ubuntu 1
    ftp命令
    mysql数据库备份及恢复命令mysqldump,source的用法
    wordpress option的操作
    wordpress作者角色添加不了视频代码
  • 原文地址:https://www.cnblogs.com/zhangym118/p/12600272.html
Copyright © 2011-2022 走看看