个人博客迁移至:https://blog.plcent.com/欢迎大家访问

今天在写全屏切换的时候,发现一个问题就是切换时只能滚动第一屏,其他屏死都不动,

全屏滚动的原理:

是每次滚动父元素向上滚动一个元素的高度,比如每张图片都是100px高,第一次父元素 transform:translate3d(0px, -100px, 0px);第二次就是transform:translate3d(0px, -200px; 0px)

但是问题来了,第一次滚动时,第一个元素position()为:top:0px,left:0px;第二个为top:100px,left:0px;,所以可以滚动,

第二次滚动时,第一个元素position()为:top:-100px,left:0px;第二个为top:0px,left:0px;,此刻查找第三个元素position()为:top:100px,left:0px;,得到第三个top为100px,当然不滚动.

意思就是每次滚动,所以元素的position都减去了100px

但是我纳闷,说好的position不是应该不变的么??

查了好久发现,在父元素上添加了一个position:relative,居然能滚了,position()值也不变了,在疑惑中,查看了jQuery手册,http://www.jquery123.com/position/

上面的解释赫然写着:

position():获取匹配元素中第一个元素的当前坐标,相对于offset parent的坐标。( 译者注:offset parent指离该元素最近的而且被定位过的祖先元素 )

不知道有没有注意译注,( 译者注:offset parent指离该元素最近的而且被定位过的祖先元素 ),被定位过!!!他与offset()的区别是一个是相对于父元素,一个相对于document,父元素没有position过,相对的父元素也是document,所有最后发现问题的我,眼泪掉下来!!!

[问题记录]父元素position:relative的深坑的更多相关文章

  1. position应用之相对父元素的定位

    分别添加以下style即可: 父元素position:relative; 子元素position:absolute; right:0px; bottom:0px;

  2. position:fix相对父元素定位

    大家都知道,当position的值为fix时,生成绝对定位的元素,相对于浏览器窗口进行定位. 它常常应用的场合是,当下拉滚动条时固定导航栏到顶部,将广告固定在页面两侧或浏览器中间. 如果需要将导航栏d ...

  3. 【CSS】position relative 用法

    Relative是position的一个属性,是相对定位. position的默认值是static,(也就是说对于任意一个元素,如果没有定义它的position属性,那么它的position:stat ...

  4. CSS子元素在父元素中水平垂直居中的几种方法

    1. 水平居中(margin: auto;)子父元素宽度固定,子元素上设置 margin: auto; 子元素不能设置浮动,否则居中失效. #div1{ width: 300px; height: 3 ...

  5. position:relative/static/fixed/absolute定位的区别以及使用场景

    absolute是相对于自己最近的父元素来定位的,relative是相对于自己来定位的 relative 不脱离文档流,absolute 脱离文档流.也就是说:relative 的元素尽管表面上看到它 ...

  6. Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!

    最近工作中element后台管理使用Echarts图表,本后台项目分图表模式和列表模式,使用display控制显示隐藏,这样就引出了本文的问题. 问题1:Echarts图标宽度变成100px? 问题2 ...

  7. 解决IE6,IE7下子元素使用position:relative、父元素使用overflow:auto后,子元素不随着滚动条滚动的问题

    解决IE6,IE7下子元素使用position:relative.父元素使用overflow:auto后,子元素不随着滚动条滚动的问题   在IE6,IE7下,子元素使用position:relati ...

  8. 内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法

    内层元素设置position:relative后父元素overflow:hidden overflow:scroll 都失效 解决方法:在position:relative的外层父容器加positio ...

  9. 子元素position:absolute定位之后脱离文档流,怎么使子元素撑开父元素

    纯粹的CSS无法实现.因为position:absolute就是脱离文档流,怎么能让父元素不塌陷呢? 目前想到的只能用js和jquery来实现了,用js获取子元素的高度,赋值给父元素. <!DO ...

随机推荐

  1. 201521123061 《Java程序设计》第一周学习总结

    1.本周学习总结 (1) Java的来历与版本演进 最早是Sun公司绿色项目Green Project 中所撰写的Strar7应用程序的程序语言: (2)Java根据应用领域分为三大平台:Java S ...

  2. JVM(三)内存回收(一)

    最近花了相当长一段时间在看Hotspot JVM的GC和内存分配,本节先总结和回顾一下内存回收的相关知识点,内存的分配放到下节再讨论. 一.什么是JVM的GC GC即Garbage Collectio ...

  3. Linux帮助手册(man)

    Linux的帮助文档 在我们使用Linux的过程中,都会遇到这样那样的问题,一般我们在计算机能连上网的情况下会进行百度或Google解决问题,但是并不是所有文题都能在网上很快得到答案.万一我们是在没有 ...

  4. Mybatis第六篇【配置文件和映射文件再解读、占位符、主键生成与获取、Mapper代理】

    配置文件和映射文件再解读 映射文件 在mapper.xml文件中配置很多的sql语句,执行每个sql语句时,封装为MappedStatement对象,mapper.xml以statement为单位管理 ...

  5. 通过Xshell登录远程服务器实时查看log日志

    主要想总结以下几点: 1.如何使用生成密钥的方式来登录Xshell连接远端服务器 2.在远程服务器上如何上传和下载文件(下载log文件到本地) 3.如何实时查看log,提取错误信息 一.  使用生成密 ...

  6. Django实现内容缓存

    1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会 ...

  7. MySql Jar 包下载

    MySql JAR 包下载 我们要使用Spring 链接MySql  需要两个Jar 包   一个是C3p0   一个是MySql 的Connection Jar  包 C3p0: 进入下面的网址 h ...

  8. Angular2 Service实践

    引言: 如果说组件系统(Component)是ng2应用的躯体,那把服务(Service)认为是流通于组件之间并为其带来生机的血液再合适不过了.组件间通信的其中一种优等选择就是使用服务,在ng1里就有 ...

  9. eclipse导入源码

    1.window-----preferences 2.java---installed jres(点击不用展开)---选中使用的jar包-----editor 3.选中rt.jar ------sou ...

  10. JSP入门 Filter

    Filter,它的名字是过滤器,可以批量拦截修改servlet的请求和响应. 需要实现接口Filter 配置 <filter> <filter-name>EncodingFil ...