要求
1.网页内容少时,footer再浏览器的底部,如下图
2.网页内容多时,浏览内容时(未浏览到底部)footer不可见,如下图
3.网页内容多时,浏览内容时(浏览底部)footer可见,如下图
1.网页内容少时,footer再浏览器的底部,如下图
2.网页内容多时,浏览内容时(未浏览到底部)footer不可见,如下图
3.网页内容多时,浏览内容时(浏览底部)footer可见,如下图
footer: function() {
var footerHeight = 0,
footerTop = 0,
$footer = $(".footer");
positionFooter();
//定义positionFooter function
function positionFooter() {
//取到div#footer高度
footerHeight = $footer.height();
//div#footer离屏幕顶部的距离
footerTop = ($(window).scrollTop() + $(window).height() - footerHeight) + "px";
/* DEBUGGING STUFF
console.log("Document height: ", $(document.body).height());
console.log("Window height: ", $(window).height());
console.log("Window scroll: ", $(window).scrollTop());
console.log("Footer height: ", footerHeight);
console.log("Footer top: ", footerTop);
console.log("-----------")
*/
//如果页面内容高度小于屏幕高度,div#footer将绝对定位到屏幕底部,否则div#footer保留它的正常静态定位
if (($(document.body).height() + footerHeight) < $(window).height()) {
$footer.css({
position: "absolute",
top: footerTop,
});
} else {
$footer.css({
position: "static"
});
}
}
谢谢大家,问题解决了,方法有好多
但是我在html中用的margin太多了,导致页面无法完美100%显示⊙﹏⊙b汗
最后用padding加上sticky footer的方法解决了
JS根据document的scrollTop与document.height-window.height的差,改footer的position:是relative还是fixed;~
8 回答4.9k 阅读✓ 已解决
6 回答3.7k 阅读✓ 已解决
5 回答3k 阅读✓ 已解决
5 回答6.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
5 回答1.4k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
請搜尋sticky footer 有很多css就能做掉的方式 在能夠只顧支援flexbox的情況 我是用這個超清爽的方式 連結