jQuery中width,innerWidth和outerWidth,height,innerHeight和outerHeight之间有什么区别

zaj*_*jke 114 javascript css jquery dom styles

我写了一些例子来看看有什么区别,但它们显示了宽度和高度相同的结果.

<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                var div = $('.test');
                var width = div.width(); // 200 px
                var innerWidth = div.innerWidth(); // 200px
                var outerWidth = div.outerWidth(); // 200px

                var height = div.height(); // 150 px
                var innerHeight = div.innerHeight(); // 150 px
                var outerHeight = div.outerHeight(); // 150 px
            });

        </script>
        <style type="text/css">
            .test
            {
                width: 200px;
                height: 150px;
                background: black;
            }
        </style>
    </head>
    <body>
        <div class="test"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此示例中,您可以看到它们输出相同的结果.如果有人知道有什么区别请给我适当的答案.

谢谢.

zod*_*zod 260

你看到这些例子了吗?看起来与您的问题类似.

使用宽度和高度

在此输入图像描述

jQuery - 维度

jQuery:高度,宽度,内部和外部

  • 有史以来最好的答案 (2认同)

Def*_*ult 13

正如评论中所提到的,文档会告诉您确切的差异.但总结如下:

  • innerWidth/innerHeight - 包括填充但不包括边框
  • outerWidth/outerHeight - 包括填充,边框和可选的边距
  • 高度/宽度 - 元素高度(无填充,无边距,无边框)


Chr*_*nes 6

  • 宽度 = 获取宽度,

  • 内部宽度 = 获取宽度 + 填充,

  • 外宽度 = 获取宽度 + 填充 + 边框以及可选的边距

如果您想测试,请向您的 .test 类添加一些填充、边距、边框,然后重试。

另请阅读jQuery 文档...您需要的一切都在那里


GWo*_*ing 5

我现在看到的是innerWidth包含全部内容

这是,如果窗口是900px并且内容是1200px(并且有滚动)

  • innerWidth给我1200px
  • outerWidth给我900px

在我看来完全出乎意料

*就我而言,内容包含在<iframe>