尝试此粘页脚。
.footer{
background-color: green;
position: fixed;
bottom: 0;
width: 100%;
height: 30px;
}
<div class="footer">Stays at the page bottom</div>
更新答案#1
<style type="text/css">
.sticky_div {
width: 250px;
height: 150px;
}
.sticky {
position: fixed;
top: 0;
width: 250px;
height: 150px;
}
.woocommerce-tabs {
max-width: 250px;
min-height: 150px;
background-color: #ccc;
padding: 25px;
box-sizing: border-box;
}
.container {
height:700px;
border-bottom:1px solid #000;
}
.footer {
height:700px;
background:#ffe000;
}
</style>
<script type="text/javascript">
$(document).ready(function($) {
$(window).scroll(function(){
var stickyHeaderTop = $('.sticky_div').offset().top;
var footer_offset = $(".footer").offset().top;
var woocommerce_tabs = $(".woocommerce-tabs").offset().top;
var woocommerce_element_height = 150; // this height is set in css property
var woocommerce_calc_height = woocommerce_tabs + woocommerce_element_height;
if($(window).scrollTop() > stickyHeaderTop) {
$('.woocommerce-tabs').addClass("sticky");
} else {
$('.woocommerce-tabs').removeClass("sticky");
}
if(woocommerce_calc_height >= footer_offset){
$(window).scrollTop(footer_offset-woocommerce_element_height);
}
});
});
</script>
更新答案#2 我在这里张贴的代码,因为它会很容易阅读。这工作。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.sticky_div {
}
.sticky {
position: fixed;
top: 0;
}
.woocommerce-tabs {
width: 250px;
height: 150px;
background-color: #ccc;
padding: 25px;
box-sizing: border-box;
float: left;
}
.container {
height:700px;
border-bottom:1px solid #000;
}
.footer {
height:700px;
background:#ffe000;
}
</style>
</head>
<body>
<div class="container">
<br><br><br> <br><br><br> <br><br><br> <br><br><br> <br><br><br> <br><br><br> <br><br><br>
<div class="sticky_div"></div>
<div class="woocommerce-tabs">
Content
</div>
</div>
<div class="footer"></div>
</body>
<script type="text/javascript" src="jquery-2.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function($) {
$(window).scroll(function(){
var window_top = $(window).scrollTop();
var stickyHeaderTop = $('.sticky_div').offset().top;
var footer_offset = $(".footer").offset().top;
var woocommerce_tabs = $(".woocommerce-tabs").offset().top;
var woocommerce_element_height = 150;
if(window_top +woocommerce_element_height > footer_offset){
$('.woocommerce-tabs').css({'top' : ((window_top +woocommerce_element_height -footer_offset) * -1)});
}
else if(window_top > stickyHeaderTop) {
$('.woocommerce-tabs').addClass("sticky");
$('.woocommerce-tabs').css({'top' : 0});
} else {
$('.woocommerce-tabs').removeClass("sticky");
}
});
});
</script>
</html>
我不需要粘脚。 .sticky_div必须是粘性的,并且必须停止在容器的底部边框 –
我会尽力做到这一点,你可以在codepen或jsfiddle ..etc中发布你的整个代码吗? – divine
这里是一个jsfiddle https://jsfiddle.net/mqo9qcuL/ –