Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 带有角度指示、路线、材质的粘性页脚_Html_Css_Angularjs_Angular Routing_Angular Material - Fatal编程技术网

Html 带有角度指示、路线、材质的粘性页脚

Html 带有角度指示、路线、材质的粘性页脚,html,css,angularjs,angular-routing,angular-material,Html,Css,Angularjs,Angular Routing,Angular Material,我正在尝试实现经典的粘性页脚。我正在使用angular 1.4、ngRoute、ngMaterial等。 我尝试过css解决方案(设置包装器、页脚、html、正文100%)以及计算元素高度的jQuery函数,但没有一个能完美工作。请注意,我不想为页脚设置一定的高度,然后计算剩余空间。我希望它能够响应我的内容 1) 对于大多数解决方案,当主要内容区域小于高度时,我可以将其粘贴到底部。在这种情况下,主内容和页脚(正文)之间有一个空白区域。我可以将主体的背景色设置为ng视图的颜色,使其看起来相同。但我

我正在尝试实现经典的粘性页脚。我正在使用angular 1.4、ngRoute、ngMaterial等。 我尝试过css解决方案(设置包装器、页脚、html、正文100%)以及计算元素高度的jQuery函数,但没有一个能完美工作。请注意,我不想为页脚设置一定的高度,然后计算剩余空间。我希望它能够响应我的内容

1) 对于大多数解决方案,当主要内容区域小于高度时,我可以将其粘贴到底部。在这种情况下,主内容和页脚(正文)之间有一个空白区域。我可以将主体的背景色设置为ng视图的颜色,使其看起来相同。但我不确定这是否正确

2) 当主内容变大时,页脚将丢失(位于主内容后面,而不是向下滚动)。这是否与角度指令或路线有关,或者我是否遗漏了其他内容? 你可以查我的房间看看。单击“主页”以外的任何选项卡,您会看到底部有页脚的空白页面。单击“主页”,页脚将丢失。它实际上就在那里,在内容的后面。 p、 我不想把我所有的代码都放在这里,它太大了。如果您有任何问题,请咨询plunkr或询问我

<body class="Site" ng-app="personalWebsite" ng-controller="mainController as main" style="display: flex; flex-flow: column nowrap;">

<div class="Site-content">
    <tsafou-nav></tsafou-nav>

    <md-content layout-padding ng-view></md-content>
</div>

<footer>
    <tsafou-footer></tsafou-footer>
</footer>

</body>

*页脚

<div class="footer">
    <p>Design by<span>WOW</span></p>
</div>

设计byWOW

我刚刚意识到以下代码可以在firefox上运行,但不能在chrome上运行!有人能证实这一点并提出解决方案吗

<body class="Site" ng-app="personalWebsite" style="display: flex; flex-flow: column nowrap;">
<div class="Site-content">
  <tsafou-nav></tsafou-nav>
  <md-content layout-padding="" ng-view=""></md-content>
</div>
<footer>
  <tsafou-footer></tsafou-footer>
</footer>

一个选项是使用引导粘性页脚

它与您正在使用的角度材质库相关,该库依赖于Flexbox。查看站点,了解如何使用Flexbox框架添加页脚

要轻松解决问题,可以在具有“site content”类的div类中移动页脚。如果希望有一些空白空间,可以尝试在外部设置一个具有最小高度的div。所以看起来是这样的:

 <body class="Site" ng-app="personalWebsite" style="display: flex; flex-flow: column nowrap;">
    <div class="Site-content">
      <tsafou-nav></tsafou-nav>
      <div  style="min-height: 500px;">
      <md-content layout-padding="" ng-view=""></md-content>
    </div>
    <footer>
      <tsafou-footer></tsafou-footer>
    </footer>
    </div>


所有解决方案似乎都不起作用。如果我把页脚放在“Site content”中,没有设置高度的div,我只会在主文本的末尾得到一个页脚。如果我使用最小高度,那么它不再响应。此数字取决于屏幕高度。引导粘性页脚也没有帮助。它将页脚设置为结尾,但当更多内容添加到主文本时,页脚会丢失在主内容后面。有什么想法吗?你说它不再响应是什么意思?最小高度应设置默认高度,以便页脚不直接位于导航下方,但应根据需要垂直增长。如果您计划使用bootstrap库,则需要使用bootstrap的响应框架才能正常工作。有几种角度兼容的引导实现——如果你选择引导的方式,我会去探索它们。也许你错过了我在主要文章中的编辑。我说这在firefox上有效,但在chrome上不起作用。在firefox上,页脚位于底部,随着主要内容的增长,页脚向下滚动。另一方面,在chrome上,页脚从底部开始,但随着页脚的增长,页脚会落在主要内容的后面。。。有什么想法吗?嗯,我在plunkr上使用chrome的时候。这可能是缓存问题吗?为了使我的方法能够工作,您必须将md内容包装在一个包含min height属性的div中,否则您将遇到同样的问题。(我刚刚注意到您更新了plunk)页脚也必须位于“site”类对象中。