felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

标准文档流 normal flow、定位及坐标 #61

Open felix-cao opened 6 years ago

felix-cao commented 6 years ago

一、文档流

文档流,英文为 normal flow,或 Flow layout, normal [ˈnɔːml],标准的,正常的,一般的。不知几何时,CSS 官方文档normal flow 被我们的先驱翻译为”文档流“,document flowthe normal flow of document,在官方文档里是找不到的。如果翻译成标准流,是什么的标准呢?

我猜想,文档流是文档标准流的简称,更确切的讲,是浏览器在渲染 HTML 文档时的标准流的简称。

所以,文档流,是浏览器在布局排版 HTML 节点元素时,所有的节点会按照会自动的从左到右(inline 内联元素),从上到下(block, 块级元素)的规则排列。 参考

二、定位 Postioning schemes

官方文档 Postioning schemes的说法定位类型分为三种:

三、鼠标事件中 event 对象的坐标属性

属性 参照物 备注
screenX/screenY 电脑屏幕左上角,跟浏览器无关
clientX/clientY 浏览器可视区域左上角
沿着浏览器的上边为x轴,浏览器的左边为y轴
可视区域不包括工具栏和滚动条
pageX/pageY 相对于文档窗口左上角的距离,不会随滚动条移动
沿着文档页面的上边界为x轴,文档页面的左边界为y轴
这两个值可能会很大
offsetX/offsetY 相对于触发实践元素的左上角的偏移
沿着目标节点的上边界为x轴,目标节点的左边界为y轴
layerX/layerY
x/y

跑一把这里的源码