Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当位置为“时,返回错误偏移的自定义元素”;亲属:_Javascript_Html_Css_Custom Element - Fatal编程技术网

Javascript 当位置为“时,返回错误偏移的自定义元素”;亲属:

Javascript 当位置为“时,返回错误偏移的自定义元素”;亲属:,javascript,html,css,custom-element,Javascript,Html,Css,Custom Element,代码: 当此自定义图元的位置设置为“相对”时,偏移将正确显示。例如,如果真实偏移为0,则显示为25。为什么会这样?所讨论的元素是根类气泡,这是因为默认情况下,浏览器将每个未知元素呈现为内联元素。所有已知的HTML元素都有用户代理设置的默认样式。自定义元素根本没有用户代理提供的任何样式,因此您必须显式地为您创建的每个元素设置样式。例如,将display:block添加到根类冒泡元素的样式将解决偏移值 为了解释为什么偏移值不同,我引用了,这解释了offset属性如何随着不同的元素类型而不同。从块级元

代码:


当此自定义图元的位置设置为“相对”时,偏移将正确显示。例如,如果真实偏移为0,则显示为25。为什么会这样?所讨论的元素是
根类气泡

,这是因为默认情况下,浏览器将每个未知元素呈现为
内联
元素。所有已知的HTML元素都有用户代理设置的默认样式。自定义元素根本没有用户代理提供的任何样式,因此您必须显式地为您创建的每个元素设置样式。例如,将
display:block
添加到
根类冒泡
元素的样式将解决偏移值

为了解释为什么偏移值不同,我引用了,这解释了
offset
属性如何随着不同的元素类型而不同。从块级元素开始

对于块级图元,offsetTop、offsetLeft、offsetWidth和OffsetLight描述了图元相对于offsetParent的边框框

并使用内联级别元素:

但是,对于可以从一行换行到下一行的内联级元素(如span),offsetTop和offsetLeft描述第一个边框框的位置(使用Element.getClientracts()获取其宽度和高度),而offsetWidth和OffsetLight描述边界框的尺寸。因此,具有offsetLeft、offsetTop、offsetWidth和OFFSETHELIGHT的左侧、顶部、宽度和高度的框将不会是包含换行文本的跨距的边界框