javascript - wIdth/height 继承 div 的行为

标签 javascript html css

我对 div 的宽度和高度的继承有疑问。

我有以下代码片段:

<div id="div1" style="width:50%; height:50%;">
    <div id="div2">
    </div>
</div>

当我输出 div 的宽度和高度时,div2 返回与 div1 相同的宽度,但不相同的高度。为什么会这样?宽度和高度不应该被继承,所以在我看来,对于 div2,两者都应该显示 0px。

console.log(getComputedStyle(div1).width); // 727px
console.log(getComputedStyle(div1).height); // 494.5px
console.log(getComputedStyle(div2).width); // 727px
console.log(getComputedStyle(div2).height); // 0px

最佳答案

宽度的关键是 divdisplay: block,自动。 block 跨越其父级的整个宽度,除非指定了 width css 属性,在这种情况下,它们将使用该属性。

至于高度,div 会尽量小。由于 #div2 没有内容,它的高度将为 0 像素。对于 #div1,指定了 height 属性,因此它将是其父级高度的 50%,我假设它是您的浏览器窗口。

请注意,您指定的尺寸不一定是固定的 - 它们只是根据您的浏览器窗口大小计算的值。

关于javascript - wIdth/height 继承 div 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22802634/

相关文章:

javascript - 嵌入 YouTube 视频的海报框架大于视频

javascript - Chrome 扩展中的 Vue.js

javascript - 谷歌地图地理编码(地址到 GLatLng)

html - 隐藏的溢出不适用于悬停

javascript - 在单选选项中隐藏/显示 Div

java - HTML/JSP疑问,在网页上打印日期

javascript - 单击时的 Jquery 类选择器

CSS:褪色图像标题

javascript - 如何在 jQuery-Mobile Datepicker Widget 中通过滑动更改月份

javascript - 如何从给定的外部url获取数据 session id和所有内容,而不是从 Angular 6中的我的应用程序(路由)获取