Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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 “a”的宽度或高度是否为标准;显示:无“;元素为零?_Javascript_Html_Css_Dom - Fatal编程技术网

Javascript “a”的宽度或高度是否为标准;显示:无“;元素为零?

Javascript “a”的宽度或高度是否为标准;显示:无“;元素为零?,javascript,html,css,dom,Javascript,Html,Css,Dom,Chrome上“display:none”元素的offsetWidth或offsetHeight为0 我想知道的是,这是W3C定义的标准行为,或者只是浏览器的一种方言?或者它实际上是所有现代浏览器都支持的 我在网上搜索,几乎没有找到任何文字来回答我的问题。是的,这是标准行为 如果显示为无,则不创建布局框: 请注意,显示“无”不会创建不可见的框;它根本不创建任何框。CSS包括使元素能够在格式化结构中生成影响格式化但自身不可见的框的机制。有关详细信息,请参阅“可见性”部分 如果没有框,则返回零:

Chrome上“display:none”元素的offsetWidth或offsetHeight为0

我想知道的是,这是W3C定义的标准行为,或者只是浏览器的一种方言?或者它实际上是所有现代浏览器都支持的


我在网上搜索,几乎没有找到任何文字来回答我的问题。

是的,这是标准行为

如果
显示
,则不创建布局框:

请注意,显示“无”不会创建不可见的框;它根本不创建任何框。CSS包括使元素能够在格式化结构中生成影响格式化但自身不可见的框的机制。有关详细信息,请参阅“可见性”部分

如果没有框,则返回零:

offsetWidth属性必须返回运行以下步骤的结果:

  • 如果元素没有任何关联的CSS布局框,则返回零并终止此算法
  • 返回与元素关联的第一个CSS布局框的边框边缘宽度,忽略应用于元素及其祖先的任何变换

  • 非常感谢你。我在MDN上也发现了这一点:“如果元素被隐藏(例如,通过将元素或其祖先之一的style.display设置为“none”),则返回0。”