javascript - $(element).height 对比 $(element).css ('height' ,value);

标签 javascript jquery html css

function adjustHeight(){
            var headerHeight=$(element).find('.header').outerHeight();
            console.log(headerHeight);
            var temp=$(window).height()-headerHeight;
            console.log(temp);
            $('.users').height(temp);
        }

最初和调整窗口大小时调用一次

.users 元素的高度总是比控制台临时变量高 30 像素。

        $('.users').css('height',temp+'px');

这按预期工作正常。

<div class="mainPage" data-bind="visible:mode() === 'authenticated',handleHeightOfElements:''">
    <div class="header">
        <div>
            This is header text
        </div>
    </div>
    <div class="mainBody">
        <div class="users">

            All users:
            <div data-bind="foreach:userList">
                <div class="user">
                    <span data-bind="text:$data.userName,css:{onlineUser:$data.online()}">
                    </span>
                    </div>
                </div>
        </div>

.users{
float: left;
width: 140px;
background: antiquewhite;
padding: 15px;
box-sizing:border-box;
}

最佳答案

首先:.css("height").height() 是等价的。

但是你把$('.users').height(temp)设置为temp,这是$(window).height( ) 减去 ('.header').outerHeight()

.outerHeight()包括元素的填充、边距和边框。

这不是 .css("height").height() 的情况。

我打赌你的 30px 偏移来自边距/填充/边框。
它适合您上次编辑 padding: 15px; for .users

编辑
这是您的计算错误图像:

enter image description here

计算中不考虑变暗的部分。

关于javascript - $(element).height 对比 $(element).css ('height' ,value);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488379/

相关文章:

javascript - 验证函数不应接受字母字符

javascript - HTML5 和 JavaScript : How do I make paste handling fully/more asynchronous?

javascript - AJax 删除在某些浏览器中不起作用

javascript - 如何防止用户使用 JavaScript 和 JQuery 键入超过 2 位数字

javascript - 将任何 CDN 配置为无论请求什么 url 都只传送一个文件

javascript - jquery ajax 没有完成

javascript - <a href 中的 onClick 导致 Uncaught ReferenceError : $ is not defined?

jquery - 悬停时的 CSS 元素过渡

jquery - MVC 中 Html.EditorFor() 的验证

html - 如何使多个元素的高度调整大小与调整视口(viewport)大小时发生的换行相同?