美文网首页
2019-10-07 那些X 与 定位 和 位置指定

2019-10-07 那些X 与 定位 和 位置指定

作者: 枫叶落尽 | 来源:发表于2019-10-07 12:46 被阅读0次

文章1里,提到了各种可能用到的高宽值,为我们对元素的位置的理解与设置铺垫了基础,现在来看看文档中元素的位置的相关问题。

对于定位元素,我们可以在css中设置其top、left、bottom、right 属性,对元素进行位置的指定。定位,一定要有个相对参照点,把参照点作为原点来对元素进行定位。在此基础上,我们第一想到的是 position:absolute 的元素,因为其定位就是相对于最近的定位祖先元素进行定位,那么我们就可以通过控制其祖先的位置,然后把一个 absolute 元素来相对祖先进行定位,进行一探究竟。

通过实例,我们可以看到,设置 top、left、bottom、right 属性对元素定位,其实是两个元素的最靠近的两条 border 边界线之间的距离。

而 fixed 元素,不过是把相对的定位元素换成 html 元素 罢了(即相对文档定位),计算方式还是一样。
这里有个问题?

需要注意的是,前面都是只设置了定位属性,而没有设置 margin ,默认情况下俩定位元素间 margin 为0(默认情况下body和html间存在margin)。那设置了 margin 又是什么情况呢?从上图可知,在设置了margin情况下,在 margin 计算完成后(边距融合等情况计算后),margin 视为 某一个元素的一部分,即此时 left (或其它) 代表的是完整的两个元素之间的距离,从一个元素的最 靠近另一个元素的border的一条边 到另一个元素的 margin 的外侧的距离。在我们视觉看来,此时两个元素间的距离是大于 left (或其它)的值的,原因是 margin 不可见,而 margin 是算作某一个元素的内部的,不在包含在 left (或其它)。

在对定位有了初步的了解之后,我们来看一下,涉及到位置的地方:
在多种事件对象中,包含了位置相关信息,比如:
TouchEvent 中的 Touch 类对象就包含了

Touch.screenYTouch.clientYTouch.pageY 等属性,分别指事件发生时的 相对于 屏幕 、 浏览器视口 、 文档 的坐标。

UIEvent 作为 TouchEvent 的父类,也有差不多的属性。

MouseEvent 作为 TouchEvent 的兄弟类,同样有差不多的属性。

getBoundingClientRect() 返回相对于视口坐标

相关文章

  • 2019-10-07 那些X 与 定位 和 位置指定

    在文章1里,提到了各种可能用到的高宽值,为我们对元素的位置的理解与设置铺垫了基础,现在来看看文档中元素的位置的相关...

  • NF特种部队1:黎明行动

    “克尔进入指定位置!”克莱拉进入指定位置!”麦林进入指定位置!”里昂进入指定位置!”斯科特进入指定位置!” 老鸟的...

  • 链表

    单向链表 包含,创建,析构,指定位置插入,指定位置删除,反向链表,打印 双向链表 包含,创建,析构,指定位置后插入...

  • CSS之定位和opacity使用

    定位:将指定的元素放在指定的位置,通过定位可以任意的排放元素,定位分为:相对定位,绝对定位,固定定位 和默认的值 ...

  • JavaScript字符串常见操作方法

    一、chartAt() 返回指定位置的字符。 二、charCodeAt() 返回在指定位置字符的 Unicode ...

  • 总结一下JS操作字符串的方法

    # 1. chartAt() : 返回指定位置的字符 # 2. charCodeAt() : 返回在指定位置字符的...

  • 字符串的常用方法

    一、获取字符串指定位置的值 charAt()和charCodeAt()方法都可以通过索引来获取指定位置的值: ch...

  • SwiftUI 2.0 中使用Map组件

    简单使用:显示指定位置坐标与缩放 ** 显示大头针与手动缩放:**

  • JS对象常用方法总结

    string 方法一:charAt():返回在指定位置的字符 方法二:charCodeAt():返回咋指定位置的字...

  • JS对象常用方法总结

    string 方法一:charAt():返回在指定位置的字符 方法二:charCodeAt():返回咋指定位置的字...

网友评论

      本文标题:2019-10-07 那些X 与 定位 和 位置指定

      本文链接:https://www.haomeiwen.com/subject/pamppctx.html