Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/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 在父级计算边距为的outerHeight_Javascript_Jquery_Html_Css_Height - Fatal编程技术网

Javascript 在父级计算边距为的outerHeight

Javascript 在父级计算边距为的outerHeight,javascript,jquery,html,css,height,Javascript,Jquery,Html,Css,Height,给定 下面是jsfiddle:子元素的边距在父元素之外。但它们不是父元素的边距,这就是outerHeight不注意它们的原因 找到父项高度+子项边距的最佳方法取决于您的用例: 如果子元素是父元素中的唯一元素,并且您希望使用边距使父元素比子元素大,我建议将padding:5px提供给父元素,而不是margin:5px提供给子元素 添加溢出:auto将使父级包含子级的边距 如果您希望孩子和家长共享边距,请将margin:5px交给家长 在所有这些情况下,outerHeight将返回所需的值。子元

给定


下面是jsfiddle:

子元素的边距在父元素之外。但它们不是父元素的边距,这就是outerHeight不注意它们的原因

找到父项高度+子项边距的最佳方法取决于您的用例:

  • 如果子元素是父元素中的唯一元素,并且您希望使用边距使父元素比子元素大,我建议将
    padding:5px
    提供给父元素,而不是
    margin:5px
    提供给子元素

  • 添加
    溢出:auto
    将使父级包含子级的边距

  • 如果您希望孩子和家长共享边距,请将
    margin:5px
    交给家长


在所有这些情况下,outerHeight将返回所需的值。

子元素的边距在父元素之外。但它们不是父元素的边距,这就是outerHeight不注意它们的原因

找到父项高度+子项边距的最佳方法取决于您的用例:

  • 如果子元素是父元素中的唯一元素,并且您希望使用边距使父元素比子元素大,我建议将
    padding:5px
    提供给父元素,而不是
    margin:5px
    提供给子元素

  • 添加
    溢出:auto
    将使父级包含子级的边距

  • 如果您希望孩子和家长共享边距,请将
    margin:5px
    交给家长


在所有这些情况下,Outerlight将返回您想要的值。

您的子div溢出父div。您可以在父div中使用此值:

console.log($('#parent').outerHeight());        //= 14
console.log($('#parent').outerHeight(true));    //= 14
console.log($('#parent')[0].offsetHeight);      //= 14
console.log($('#parent')[0].getBoundingClientRect().height); //=14

//but
console.log($('#child').outerHeight());         //= 14
console.log($('#child').outerHeight(true));     //= 24 !!
示例代码:

overflow:auto

您的子div溢出父div。您可以在父div中使用此选项:

console.log($('#parent').outerHeight());        //= 14
console.log($('#parent').outerHeight(true));    //= 14
console.log($('#parent')[0].offsetHeight);      //= 14
console.log($('#parent')[0].getBoundingClientRect().height); //=14

//but
console.log($('#child').outerHeight());         //= 14
console.log($('#child').outerHeight(true));     //= 24 !!
示例代码:

overflow:auto

设置父项“
显示:内联块;

设置父级“
显示:内联块;


父级没有边距,只有14像素高尝试修复代码应该是这样工作的父级没有边距,只有14像素高尝试修复代码应该是这样工作的