为什么window.width小于媒体查询中设置的视口宽度

2024-03-01

我很困惑,仍然不知道如何用合适的语言解释这一点。到目前为止,我已经使用断点并设置了媒体查询。使用的断点变量如下所示:

$menustatictofixed: min-width 900px;

$breakpoint-to-ems 设置为 true。我根据以下 jQuery 片段的像素值布置了页面及其所有断点变量:

$('body').append('<div style="position: fixed; bottom: 0; right: 0; display: inline-block; font-weight: bold; padding: 5px 7px; border-radius: 5px 0 0 0; background: green; color: white; z-index: 9999;">Viewport width <span id="width"></span> px</div>');
var viewportWidth = $(window).width()
$('#width').text(viewportWidth);
$(window).resize(function() {
  var viewportWidth = $(window).width();
    $('#width').text(viewportWidth);
});

一切看起来都很干净。但在过去的一两天里,我在为模式设置最后一个断点并使事情表现得可预测时遇到了问题。不知怎的,那些一开始看起来干净整洁的事情,我现在在逻辑上高度怀疑,实际上是不合适的,而且不知怎的一团糟。因为如果你看一下以下内容截屏 https://dl.dropboxusercontent.com/u/8578/viewportconfusion.png不知何故,窗口的宽度(在 Chrome 中)与使用 window.width 的 jQuery 片段的宽度不同。如果我将 window.width 替换为 window.innerWidth 以最终排除滚动条,也没有什么区别。获得正确结果的唯一方法是在方程中添加 15 个像素:

var viewportWidth = $(window).width() + 15;

整个方程中唯一的问题是 window.width 是错误的函数选择,最好选择例如document.documentElement.clientWidth 或其他内容或...? 15 个像素代表什么,它以一种有点hacky 的方式解决了上述问题?最好的问候拉尔夫


这对我有用:CSS 媒体查询和 JavaScript 窗口宽度不匹配 https://stackoverflow.com/questions/11309859/css-media-queries-and-javascript-window-width-do-not-match.

而不是使用$(window).width();其中包括滚动条获取内部宽度,如下所示:

function viewport() {
    var e = window, a = 'inner';
    if (!('innerWidth' in window )) {
        a = 'client';
        e = document.documentElement || document.body;
    }
    return { width : e[ a+'Width' ] , height : e[ a+'Height' ] };
}

var vpWidth = viewport().width; // This should match your media query
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么window.width小于媒体查询中设置的视口宽度 的相关文章

  • html() 与 innerHTML jquery/javascript 和 XSS 攻击

    我正在对我自己的代码测试 xss 攻击 下面的示例是一个简单的框 用户可以在其中输入他想要的任何内容 按 测试 后按钮 JS 会将输入字符串显示为两个 div 这是我为了更好地解释我的问题而制作的示例
  • 自动为 MM-YYYY 文本字段插入“-”或“/”字符? [复制]

    这个问题在这里已经有答案了 我目前正在开发 CC 验证模板 但不幸的是 对于这个特定项目来说 使用标准下拉 单独文本字段来选择月 年到期字段并不可行 相反 我希望有一个文本字段 格式为 MM YYYY 来捕获到期日期 但是 我希望编写此文本
  • 如何在android中使用jquery和phonegap打开pdf文件?

    最近我正在为 Android 构建一个应用程序 我正在使用phonegap 来做同样的事情 一切都运行良好 除了一个问题 即我无法在 android 中使用 jquery 打开 pdf 文件 我已经尝试了很多做同样的事情 但我无法做到这一点
  • 如何让不显眼的 jquery 远程验证器执行异步..?

    在 MVC3 应用程序中 使用 jquery 不显眼的验证以及带有 远程 验证器的视图 模型 我试图在远程验证期间以及将有效表单提交到服务器时禁用提交按钮并显示等待图标 我以为我已经搞定了 直到我在 IE8 中尝试了它 问题是 当表单无效时
  • 如何调整jupyterlab笔记本中滚动输出高度的大小?

    有没有办法调整 jupyterlab 笔记本中滚动输出高度的大小 潜在的解决方案 但需要 HTML CSS 知识 我从这个问题中找到了这个片段调整 ipython 笔记本输出窗口的大小 https stackoverflow com que
  • CSS - 当 Margin-Top 存在时,Margin-Bottom 被忽略

    我有一个场景 我有多个 DIV 与 margin top 和 margin bottom 堆叠在一起 但我发现当我有 margin top 时 margin bottom 被忽略 我无法解释这是如何发生的 html div class bo
  • 更改按钮文本jquery mobile

    我正在使用新的 jquery mobile 1 0 alpha 1 版本来构建移动应用程序 并且我需要能够切换按钮的文本 切换文本工作正常 但一旦执行文本替换 CSS 格式就会被破坏 格式混乱的屏幕截图 http awesomescreen
  • 如何使用 JavaScript 或 jQuery 从 URL 下载文件?

    我使用 jQuery fileDownload 插件从 URL 下载文件 fileDownload url contentType text csv contentDisposition attachment filename url sp
  • 防止左浮动 div 转到新行

    我有 4 个 div 设置为向左浮动 但最后的 div 不断在较小的屏幕上换行两个新行 这真的很烦我 我希望它们随屏幕尺寸缩放 以便它们始终保持在同一行上屏幕尺寸 并且我尝试不使用桌子 这非常诱人 因为他们对此非常可靠 我想知道如何解决这个
  • jquery中的三美元符号是什么?

    我正在尝试调试某人的代码 并遇到了这个 ajax url ajax url param context formDialog success function data this html data BindPopupFormEvents
  • 基于鼠标位置的平滑滚动(Jquery)

    HI 我想创建一个基于鼠标位置的平滑滚动条 这个想法是创建一个具有固定宽度的外部 div 内容非常宽 必须根据鼠标位置向左或向右滚动 如果内容是 无限 或 无尽 的 那就太好了 内容是一个非常宽的图像 无缝 地重复 有人可以帮我用 jQue
  • 如何构建 ImageButton 控件适配器(或者更一般地说,如何构建一个简单的控件适配器)?

    我对这个问题的灵感是我发现了非常烦人的默认样式 border width 0px 在 ImageButton Web 控件上 简单的解决方案是通过向控件添加您自己的样式来覆盖它 例如Style border width 2px 无论如何 如
  • font-awesome 字体未加载到 Angular 项目中

    我已经使用 Angular 5 一段时间了 似乎我无法将任何字体很棒的图标加载到我的构建项目中 我完全按照下面链接中提到的步骤进行操作 https www npmjs com package angular font awesome htt
  • 有没有办法在 Blazor 中隐藏 div?

    我正在使用 Blazor 并且想在按下导航栏切换器图标时隐藏侧边栏 列表项崩溃了 但问题是 div 仍然存在 div class page div class sidebar div class nav top row pl 4 navba
  • 如何检测鼠标指针位于浏览器关闭按钮上时的事件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 换句话说 这是用于检测事件的 javascript jquery 代码当鼠标指针位于浏览器的关闭按钮 X按钮 上时 或者当鼠标指针进入
  • Bootstrap 中的垂直菜单

    有没有办法使用任何引导类来创建垂直菜单 不是下拉菜单 侧边栏上完全独立的垂直菜单 我可以使用我的 css 创建一个 但只是想知道引导程序中是否有任何内置类 或者可以使用顶部栏通过任何 hack 来完成吗 这个问题现在已经很老了 但如果有人看
  • 常见的 Web UI 样式

    在接下来的几天里 我必须向我的一位客户展示一个 Web 应用程序的原型 问题是我不太擅长 CSS 最糟糕的是我几乎对得到的结果不满意 编写业务逻辑对我来说没有任何挑战 但 UI 设计却占用了我 80 以上的时间 我不需要什么令人惊叹的东西
  • JQuery 可拖动图像并保存位置

    好吧 这变得很尴尬 已经搜索并尝试了大约 5 个小时 但我只是在兜圈子 场景很简单 它是用户个人资料的标题图像 可以将其拖动到某个位置 然后将图像的顶部位置保存到数据库中 感谢 Beetroot Beetroot 的 遏制 父级 我开始关注
  • css Flex div 随着子文本区域的增长而增长(无jquery)[重复]

    这个问题在这里已经有答案了 想象一下我有以下内容 div padding 20px div style display flex background gold div
  • @media查询和图像交换[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望在调整浏览器大小时网站中的图像完全改变 我一直在使用媒体查询 但我似乎无法正确使用它 有什么想法 建议吗 将来请添加您尝试过的代

随机推荐