angular 如何动态设置最小高度

Doyle
  • 844

html结构:

<body>
  <div id="header"></div>
  <div id="article"></div>
  <div id="footer"></div>
</body>

我想实现的是:给article动态设置一个min-height为:可见区域高度-header高度-footer高度,避免页脚出现在页面中间的情况。

我用的是angularjs,不打算引入jquery,自然无法使用$(document).ready()。

我遇到的问题有:

  1. 无法实现: 等到页面加载完成,触发函数动态设置高度。以下情况函数均未执行到(window换成document也是如此):

    angular.element($window).ready(function() {});
    angular.element($window).on('load', function() {});
    angular.element($window).bind('load', function() {});
    angular.element($window).onload(function() {});
    $window.onload = function() {};
    $scope.$on('$viewcontentloaded', function() {});
    
  2. 不知把这段代码放在directive里好还是放在Controller,还是什么地方。

  3. 用css直接设置最小高度,写死的情况(如:min-height: 400px)下,在屏幕较小时会出现滚动条。

或者干脆就不用这些方法,我的做法都是错的,麻烦各位不吝赐教,多谢了。

回复
阅读 9.8k
1 个回答

写一个directive吧。处理比较方便,虽然其实css的flex布局也可以解决这个问题。但根据你的疑问,还是先回答你通过angular怎么写吧, 直接上plunk

plunk怎么看不用教吧(需要科学上网手段)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏