div固定显示的几种方法

摘要:
这是因为有些人在浏览网页的时候会改变浏览器的大小的缘故,当浏览器的大小有变化的时候咱们带再次计算数值,然后进行调整,好了,完毕

很多时候我们会受到一些需求:

1、div一直置顶

2、div一直置底

3、超过一定的位置之后div置顶

4、超过一定位置之后div置底

那么下面针对上面的几个问题写几个案例:

一、div一直在屏幕的上方,这个倒是容易咱们直接使用position:fixed;然后设置他的top值和left就可以了,别忘了设置宽度哦

<div class="top">
<div class="topf">青格勒</div>
</div>
<style>
.top,.topf{ height:100px; 100%;}
.topf{ position:fixed; top:0; left:0; background:#999; text-align:center; font-size:20px; color:#fff;}
</style>
点击这里查看demo -》

二、这个跟上面的例子是一样的,我不不多说了

<div class="bottom">
<div class="bottomf">青格勒</div>
</div>
<style>
.bottom,.bottomf{ height:100px; 100%;}
.bottomf{ position:fixed; bottom:0; left:0; z-index:12; background:#999; text-align:center; font-size:20px; color:#fff;}
</style>
点击这里查看demo -》

三、这个就比较有意思了,有些时候咱们的导航在banner的下方

如下图:

这时候咱们的需求就出来了,当咱们的滚动条走到banner图的底部的时候需要把nav的部分悬挂(position:fixed; top:0);

这时候咱们就得计算了,先获取nav到document顶部的距离,然后在获取滚动条的长度,相减就能得到window的顶部的距离,当两者的相减<=0的时候悬挂。

html代码如下

<div class="center">
<div class="centerf">青格勒2132132</div>
</div>

CSS代码如下:

<style>
.center{ position:relative; z-index:12;}
.center,.centerf{ height:100px; 100%;}
.centerf{ background:#666; text-align:center; font-size:20px; color:#fff;}
.on{ position:fixed; top:0; left:0; z-index:12;}
.onm{ position:fixed; bottom:0; left:0; z-index:12;}
</style>

JS代码如下:

<script type="text/javascript">
$(function () {
function divtop(){
var boxTop = $('.center').offset().top;www.gendan5.com
var scrTop = $('body,html').scrollTop();
//头部定位
if ((boxTop - scrTop) < 0){
if ($('.centerf').hasClass('on')){

}else{
$('.centerf').addClass('on')
}
}else{
if ($('.centerf').hasClass('on')){
$('.centerf').removeClass('on')
}else{

}
};
};
divtop();
$(window).scroll(function () {
divtop();
});
$(window).resize(function(){
divtop();
});
});
</script>
点击这里查看demo -》

四、还有超过一定位置之后div置底

Html代码:

<div class="center">
<div class="centerf">青格勒2132132</div>
</div>

CSS代码:

<style>
.center{ position:relative; z-index:12;}
.center,.centerf{ height:100px; 100%;}
.centerf{ background:#666; text-align:center; font-size:20px; color:#fff;}
.onm{ position:fixed; bottom:0; left:0; z-index:12;}
</style>

JS代码:

<script type="text/javascript">
$(function () {
function divbottm(){
var boxTop = $('.center').offset().top;
var scrTop = $('body,html').scrollTop();
var winHei = $(window).height();
//头部定位
if((boxTop - scrTop - winHei + 100) < 0){
if ($('.centerf').hasClass('onm')){

}else{
$('.centerf').addClass('onm')
}
}else{
if ($('.centerf').hasClass('onm')){
$('.centerf').removeClass('onm')
}else{

}
}
};
divbottm();
$(window).scroll(function () {
divbottm();
});
$(window).resize(function(){
divbottm();
})
});
</script>

看到代码很多人都会有一个疑问,为什么scroll和resize时间中再执行一遍?这是因为有些人在浏览网页的时候会改变浏览器的大小的缘故,当浏览器的大小有变化的时候咱们带再次计算数值,然后进行调整,好了,完毕

免责声明:文章转载自《div固定显示的几种方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇推荐Firefox截图插件shell命令之find的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS之纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)

图形包括基本的矩形、圆形、椭圆、三角形、多边形,也包括稍微复杂一点的爱心、钻石、阴阳八卦等。当然有一些需要用到CSS3的属性,所以在你打开这篇文章的时候,我希望你用的是firefox或者chrome,当然IE也能看一部分的。那好,下面就一起来看看我们是如何用纯CSS来画这些图形的,如果你也觉得很震撼,推荐给你的朋友吧。 1、正方形 最终效果: CSS...

传统css布局方案(position,float,line-height等配合)

一、display display 是 css 布局中很重要的一个属性,它定义了元素生成的显示框类型,常见的几个属性值有:block、inline、inline-block、inherit、none、flex。inherit 表示这个元素从父元素继承 display 属性值;none 表示这个元素不显示,也不占用空间位置;flex 是 flex 布局重...

div,contenteditable编辑器之ctrl+enter换行,enter发送

    //回车发消息 $scope.keyDownSend = function($event) { var keycode = window.event?$event.keyCode:$event.which; var evt = $event ||window.event;...

【CSS3】用i标签用作小图标

首先在这里写一个昨天听张大神课程的时候,遇到一个问题,在这里写一下 当position:absolute用在子标签当中时(父标签不使用position:relative),如果不设定子标签的位置,那么子标签就具有跟随性,父标签跑哪,子标签跟哪。 但是当子标签中出现哪怕一个空格或极小的间距,这种跟随性就随之消失,就脱离父标签,此时我们的解决办法是用注释去空格...

Unity3D 物体移动方法总结

1. 简介     在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。 2. 通过Transform组件移动物体     Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改...

在页面布局中,怎么实现水平居中和垂直居中?

先给出DOM结构 <div class="box"><div class="box-center"> </div> </div> 一:水平居中 若是行内元素,给其父元素设置text-align:center即可实现行内元素水平居中 若是块级元素,该元素设置margin:0 auto即可(元素需要定宽...