今天在电脑端看csdn时,发现文章界面一般分为三大块:左边侧边栏显示用户基本信息和广告、中间文章部分、右边用户的文章专栏。整体用的是float。右边的文章position设置为fixed。左边侧边栏是当滚动高度超过侧边栏高度时,设置为fixed,即这时候侧边栏保持不变,bottom=0

    let aside = document.getElementsByClassName('aside')[0]let asideTop = aside.offsetToplet asidescroll = document.body.scrollToplet asideBottom = aside.offsetTop + aside.clientHeightwindow.addEventListener('scroll', function() {let screenBottom =document.documentElement.scrollTop +document.documentElement.clientHeight //获取当前界面距离顶部的高度if (asideBottom < screenBottom) {aside.classList.add('fixed')} else {aside.classList.remove('fixed')}})

在写右边栏position:fixed时出现了一点问题
跟着CSDN模仿着写的。
在设置右边recommend时,高度设置height:100%时,会出错。
这是因为flex布局的问题,flex布局内即使形状上被子元素撑开了,但是实际上还是没有撑开的。

因为整个页面是flex,使用了
justify-content:center
align-item:center

js设置div高度低于滚动高度时固定相关推荐

  1. js获取div的宽度和高度的坑

    元素尺寸属性 说明 clientWidth 获取元素可视部分的宽度,即 CSS 的 width 和 padding 属性值之和,元素边框和滚动条不包括在内,也不包含任何可能的滚动区域 clientHe ...

  2. js判断div滚动条是否滚动到底部

    1.设置div固定高度,并且设置为内部超出可滚动 2.获取div标签,并获取div滚动距离顶部的高度 3.获取div的高度,如果没有给div设置高度可获取视图窗口的高度 4.获取div标签滚动高度 4 ...

  3. 怎么获取网页高度、屏幕高度、滚动高度?

    有时候需要取页面的底部, 就会用到document.body.clientHeight , 在HTML 标准中(这一句就能取到整个页面的高度, 不论body 的实际内容到底有多高. 在XHTML中, ...

  4. 如何获取网页高度、屏幕高度、滚动高度?

    有时候需要取页面的底部,就会用到 document.body.clientHeight,在HTML标准中这一句就能取到整个页面的高度,不论 body 的实际内容到底有多高. 在XHTML中,如果bod ...

  5. jquery js 设置 div 的内容,给 div 添加一个属性

    设置 div 的内容的写法: jquery 的写法:    $( "#div1" ).html( "aa" );    // 将 div1 元素里面的 html ...

  6. js设置div透明度

    原生js设置透明度 为了兼容IE与其他浏览器对透明度的设置,我们需要对以上两种样式分别进行设置: 复制代码代码如下: var alpha = 30; //透明度值变量 var oDiv = docum ...

  7. js实现table表头冻结(scroll时固定)

    方案一: 思路:当table在父容器中滑动滚动条显示内容时,使用scrollTop判断边界,同时使用JQuery中的clone方法,把原table创建复制一份,插入到动态创建的一个div中,再将该di ...

  8. 设置div table 等元素高度宽度百分之一百 100% 无效解决办法...

    很多人都遇到这个问题,却不得而解 需要当前元素的父元素height width 指定了一个数值或者百分比 还有就是在有的浏览器的 body html元素height width 为0,body子元素指 ...

  9. 原生js设置div隐藏或者显示_JavaScript动画方式控制div元素的隐藏和显示

    jQuery实现此功能相对比较简单,具体参阅点击按钮动画方式隐藏和显示div一章节. 结合CSS3实现此功能也非常便利和适合,具体参阅JavaScript与CSS3动画方式改变元素尺寸一章节. 原生J ...

最新文章

  1. ASP.NET页面事件:顺序与回传详解
  2. SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)
  3. 机器学习:结点的实现,决策树代码实现(二)
  4. 致力协同办公oa系统服务器设置,致力协同办公oa系统安装手册新.pdf
  5. Django 路由层
  6. 智力题 - 士兵编队与传讯员
  7. 工具,帮助我们更高效的工作
  8. 蓝桥杯 ADV-79 算法提高 时间转换
  9. matlab画图(plot)命令。长期更新!
  10. 帆软填报报表的使用教程
  11. c语言网页制作,C语言写网页
  12. 【转载】AssetBundle资源打包加载管理
  13. 两个PDF合并成一个PDF怎么做?三分钟教会你两种方法
  14. 为什么需要软件开发报告
  15. 编程中取名,有什么需要注意?
  16. 芯片分享——MS9601A
  17. xp系统扫描仪服务器,扫描仪驱动安装教程 xp系统装扫描仪步骤【详解】
  18. oracle cpu基线,Oracle SQL执行计划基线总结(SQL Plan Baseline)
  19. Vue2监测数据的原理
  20. 狸猫哥哥和他的冬葵花

热门文章

  1. python opencv 实现任意角度的透视变换
  2. postDelayed总结
  3. HuaWei设置镜像端口和观察端口
  4. ISIS建立邻居的条件
  5. java闭包矩阵_深刻理解Java闭包概念
  6. Springboot项目因为kackson版本问题启动报错解决方案
  7. tankwar java,TankWar 單機(JAVA版) 版本0.4~版本0.6 讓坦克動起來
  8. linux离线安装服务 =====Ubuntu16.0.4 离线部署Openssh
  9. 前端如何获取联通积分_怎么利用定制的小程序来获取流量
  10. mysql 正则 java 区别_MySQL中的正则表达式