块级元素默认宽度为100%,而js获取属性却是空字符串
对于快级元素(如div),其默认宽度为100%。然而,使用js获取到其样式属性却可能显示为空字符串。这是为什么呢?
原因在于:
例如,以下代码将获取一个 div 元素的内联样式:
const div = document.queryselector('div'); console.log(div.style.width); // 输出: ""
结果将为空字符串,即使 div 元素在浏览器中显示为 100% 宽度。
要获取浏览器内置的默认宽度,可以使用 getcomputedstyle 方法:
const div = document.querySelector('div'); const width = window.getComputedStyle(div).width; console.log(width); // 输出: "100%"
因此,块级元素的默认宽度为 100%,但 js 获取到的元素属性是空字符串,是因为 js 获取的是元素的内联样式,而块级元素的默认宽度是浏览器内置样式,不作为内联样式存在。