首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS vw让overflow:auto页面滚动条出现时不跳动

应该都知道,现代浏览器滚动条默认是overflow:auto类型的,也就是如果尺寸不足一屏,没有滚动条;超出,出现滚动条。于是,问题来了: 信息流页面,如新浪微博,是从上往下push渲染的。...JS交互,本来默认页面高度不足一屏,结果点击了个“加载更多”,内容超过一屏,滚动条出现,页面主体就会左侧跳动。 结构类似几个页面通过头部的水平导航刷新切换,结果有的页面有滚动条,有的没有。...于是,要么没有滚动条,要么滚动条直接出现。不会出现跳动。 ? 然而,然而,后面的策略适合一些特殊的定制性很强的页面。...现代浏览器的那些默认视觉优化岂不是白费了,想想就好痛心。 ? 大师,难道就没有一了百了、两全其美、三生有幸的方法了吗?...而100%是可用宽度,是不含滚动条的宽度。 于是,calc(100vw - 100%)就是浏览器滚动条的宽度大小(如果有,如果没有滚动条则是0)!

4.2K20

scrollWidth,clientWidth,offsetWidth的区别

(内容多了可能会改变对象的实际宽度) clientWidth 是对象可见的宽度,不包滚动条等边线,会窗口的显示大小改变。...offsetWidth 是对象的可见宽度,包滚动条等边线,会窗口的显示大小改变。...狗 不做情人 宠物至少可爱迷人 和你相交不浅无谓明日会被你憎 container.scrollTop = 12; 这一段文本在这个...狗 不做情人 宠物至少可爱迷人 和你相交不浅无谓明日会被你憎 alert(container.offsetHeight); alert(container.scrollHeight...,会窗口的显示大小改变 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 clientWidth:是对象可见的宽度,不包滚动条等边线,会窗口的显示大小改变

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

滚动,你真的懂了吗

让我们来了解下哈 只有window窗体滚动 即页面含有浏览器窗体默认的滚动条,窗体滚动条页面内容而不断增长。 如手Q吃喝玩乐的站点首页, 在android机上就是使用window滚动 ?...滚动计算基础知识 由于不同浏览器其窗体滚动条的属性获取方式有所差异,故考虑兼容性,我们假设使用了场景是移动到,并且使用了zepto的库 首先,我们想要更好的操作控制条,需了解两个地方 滚动条属性 滚动条调用方法...(); ---- 现在我们知道如何调用滚动条到指定的位置和获取滚动条偏移值,那么我们来做一个需求把 假设是这个页面 ?...//相信我们js代码就是这样写的 var itemHeight = 每个item的高度 var itemIndex = 指定item的下标(1, 2,3 ...) var rightPosY = itemHeight....on("click", function(){ $(scrollDom).scrollTop(rightPosY); }); ---- 那么大家就不满意了,举起双手抗议说 :“这个太简单了,如果每个列表

1K10

滚动,你真的懂了吗

让我们来了解下哈 只有window窗体滚动 即页面含有浏览器窗体默认的滚动条,窗体滚动条页面内容而不断增长。 如手Q吃喝玩乐的站点首页, 在android机上就是使用window滚动 ?...滚动计算基础知识 由于不同浏览器其窗体滚动条的属性获取方式有所差异,故考虑兼容性,我们假设使用了场景是移动到,并且使用了zepto的库 首先,我们想要更好的操作控制条,需了解两个地方 滚动条属性 滚动条调用方法...(); 现在我们知道如何调用滚动条到指定的位置和获取滚动条偏移值,那么我们来做一个需求把 假设是这个页面 ?...//相信我们js代码就是这样写的 var itemHeight = 每个item的高度 var itemIndex = 指定item的下标(1, 2,3 ...) var rightPosY = itemHeight...button).on("click", function(){ $(scrollDom).scrollTop(rightPosY); }); 那么大家就不满意了,举起双手抗议说 :“这个太简单了,如果每个列表

1.6K70

窗口大小、位置及其大小改变引起的事件QResizeEvent

转载自 祥的博客 原文链接:https://blog.csdn.net/humanking7/article/details/86108269 ---- 文章目录 @[toc] 1.使得Qt界面的控件窗口的变化而变化...Qt窗口大小和位置 Qt窗口大小、位置及其大小改变引起的事件QResizeEvent 1.使得Qt界面的控件窗口的变化而变化 1.1....//可以显示出滚动条,但是效果不是很好 //m_Local_MatCmdWind->resize(geometry().size()); //可以显示出滚动条,显示效果也很好...注意: 其中获取窗口大小有3种方式: 用frameGeometry().size():窗口会显示不全,滚动条显示不了; 用geometry().size():滚动条显示一半,显示的不好; 用ui.lab_central...) 移动位置 对于窗口,包含窗口装饰器 geometry() 几何尺寸**(位置+大小)** 不包含窗口装饰器 width()、height()、rect()、size() 包含大小信息 不包含窗口装饰器

9.8K10

爬虫问题二:处理js异步加载问题

前言 在新闻网站中大多采用的是异步加载模式,新闻条目会滚动条的滚动而逐渐加载。当爬虫访问这类网站时得到的HTML数据仅仅是我们看到的页面数据,只有当我们向下滚动时,网页的源代码才会同步更新。...例如:腾讯新闻,处理这类JS异步加载的问题,这里用selenium来解决。...webdriver.Chrome(executable_path='chromedriver.exe') 输入我们需要爬取的网站 driver.get("https://new.qq.com/ch/milite/") 如果程序执行错误...驱动器下载传送门 将网页的滚动条拉到底部,触发JS加载新数据 jsCode = "var q=document.documentElement.scrollTop=100000" driver.execute_script...(jsCode) 休息3秒,从JS异步加载的完成到新闻页面的更新需要一些时间 time.sleep(3) 进行标签定位,定位到class="item-pics"的标签 div = driver.find_elements_by_class_name

2.9K50

真正解决iframe高度自适应问题

1.前言 解决iframe高度自适应问题有两种方法 1.pym 2.手动设置iframe的高度 本文主要是总结第二种实现方式,因为第一种pym.js插件我没用懂 如果使用iframe时,遇到以下的需求...: iframe的高度始终等于嵌入页面内容的高度,而不是屏幕的高度 右侧不允许出现两个滚动条 iframe的高度自适应不仅仅是指刚加载进来时,也有可能嵌入内容的高度会点击变化(如:下拉菜单,左侧导航栏等...setInterval(function () { setIframeHeight(that[0]) }, 200) })(that) }); 如果此时.../flexiframe.js"> ./flexiframe.js // 使用前先将子页面文档声明改为 //<!...2.本文flexiframe.js可以直接使用,但是支持同源下父页面可以通过contentWindow获取子页面的内容高度,跨域的下次再说。

4.5K30

干货丨JS 经典实例收集整理

2.scrollTop() 为滚动条向下移动的距离3.document.documentElement.scrollTop 指的是滚动条的垂直坐标 4.document.documentElement.clientHeight...+可视部分+底部隐藏部分的高度总和 浏览器滚动部分高度即滚动条卷去部分高度即可视顶端距离整个对象顶端的高度。...:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化 clientX:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,滑动条移动...offsetX:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder`,可能出现负值 只有clientX和screenX 皆大欢喜是W3C标准.其他的...中,十进制数字以0x开头,八进制数字总是以0开头 进产生颜色    function randomVal(val){        return

1.3K20

网站自适应布局为什么我要抛弃rem,改用vw?

在html文件头部放入一大段压缩过的js代码,是不是让你很难受?来了解下vw吧,能让你的代码更纯粹。...若使用vw布局,就不需要再像rem那样,在js中去动态设置根元素的font-size了,sass中只需要使用这个函数转换即可 //以iphone7尺寸@2x 750像素宽的视觉稿为例 @function...100vw包括了页面滚动条宽度(页面滚动条属于viewport范围内,100vw当然包括了页面滚动条宽度)。但把body或者html设置为width:100%时,是不包括页面滚动条的宽度的。...那么就会引发一个问题:pc端使用vw单位时,如果页面内容超出一屏长度,出现了纵向滚动条,同时有元素width:100vw, 则会导致出现条横向滚动条,因为元素(100vw + 滚动条宽度)超出了viewport...如果你的页面适用于微信、qq,那绝对能放心使用vw单位,还可以配合vh针对一些特殊比例屏幕处理,彻底摆脱使用rem带来的副作用,删掉html头部计算font-size的那段js代码,让你的代码更纯粹

2.9K10

js获取各种距离和宽高

, 距离视口顶部距离, 不随页面滚动而改变 clientY 以浏览器窗口(视口)的左上角为原点, 距离视口左侧距离, 不随页面滚动而改变 pageX 以整个页面的左上角为原点, 距离页面顶部的距离, 页面滚动而改变...pageY 以整个页面的左上角为原点, 距离页面左侧的距离, 页面滚动而改变 screenX 以计算机显示屏屏幕左上角为原点, 距离屏幕顶部的距离 screenY 以计算机显示屏屏幕左上角为原点,...距离屏幕左侧的距离 元素的宽高及各种距离 宽高 属性 说明 clientHeight/clientWidth 包括元素的可视部分的高度/宽度包括width/height和padding不包括border和滚动条如果是...+padding+border 如果是content-box,为width+2*padding+2*border如果是border-box的话就等于width scrollHeight/scrollWidth...为内部可滚动的width/height+2*padding scrollTop 内部向上滚动了的距离 style.width/style.height 包括width/height,不包括其他(返回值带有

7310

21道前端面试题,值得收藏~

1、scrollWidth,clientWidth,offsetWidth的区别 scrollWidth:对象的实际内容的宽度,不包边线宽度,会对象中内容超过可视区后而变大。...clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会对象显示大小的变化而改变。offsetWidth:对象整体的实际宽度,包滚动条等边线,会对象显示大小的变化而改变。...    iMax = json[i];     iIndex = i;   } }         console.log('出现次数最多的是:'+iIndex+'出现'+iMax+'次'); 11、JS...name":"台风"}]'; var jsArr = JSON.parse(jsonString); jsArr.push({"name":"帕卡"}); console.log(jsArr); // 把js...,'四','五','六']; var date = new Date(); console.log('今天是星期' + days[date.getDay()]); 19、如何判断一个对象是否为数组 如果浏览器支持

54441

再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetXTop,clentX

,会窗口的显示大小改变     obj.clientHeight = (height + padding)  //元素的高     clientTop、clientLeft 这两个返回的是元素周围边框的厚度...因为滚动条不会出现在顶部或者左侧 offset 指偏移,包括这个元素在文档中占用的所有显示宽度。比client 多了border。     ...如果这个容器元素未进行CSS定位, 则offsetParent属性的取值为根元素的引用。...如果当前元素的父级元素中没有进行CSS定位(position为absolute/relative),offsetParent为body 如果当前元素的父级元素中有CSS定位(position为absolute...    scrollLeft 已滚动过去的宽度 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离     scrollTop  设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 js

1.4K20

dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来

比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化而触发一些效果,原本你要写 js 去绑定滚动事件,然后计算偏移量,然后更新元素 css,使用 dynamic-css,你只要根据语法去写好 css 表达式就可以了...="layout" ms-dynamiccss> /* 这里的 CSS 不是静态的,其值会绑定变量的更新而更新,从而实现一个动态的 style */ .mouse-follow { position...: absolute; /* layout.mouse.pageY 和 layout.mouse.pageX 是预先设定好的对象,其值会鼠标的移动而更新,值更新时 CSS 随之对应更新。... 如果是用 js 来实现这些效果的话,就会充斥着各种事件,各种变量的加加减减,和 css 选择器更新,代码挺丑的,而且和 dom 类似...https://github.com/darklx/dynamic-css dynamic-css 使用了 jQuery,但并不是必须依赖 jQuery ,只是用了 jQuery 的 $.get 方法,如果你的项目不想引入

1.7K20

面试简书(五)

针对这种情况,就需要运用懒加载技术:先加载可视窗口区域的图片,当用户向下拖动滚动条时再继续加载后面的图片(也是加载目前可视窗口区域内的图片)。...如果页面只有一个视频而且该视频在页面的顶部用起来还是比较顺心的。否则会发现,额。。。播放视频的时候会紊乱的。 所以移动端中,不建议视频和dom重合的设计。 如果一定要做,请继续阅读。...图片懒加载,简单来说就是在页面渲染过程中,图片不会一次性全部加载,会在需要的时候加载,比如当滚动条滚动到某一个位置时触发事件加载图片,通过js将img标签的data-src属性赋值给src属性 方案四:...如果设置一个值,则第二个值会被设置为 "auto"。percentage以父元素的百分比来设置背景图像的宽度和高度。 第一个值设置宽度,第二个值设置高度。...如果设置一个值,则第二个值会被设置为 "auto"。cover把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。 背景图像的某些部分也许无法显示在背景定位区域中。

1.1K10
领券