Chrome:缩放级别的jQuery元素宽度不是100%

时间:2016-12-14 17:05:20

标签: jquery css google-chrome zoom

最初我设置了一个小测试,以了解jQuery的.width()如何处理不同的盒子模型。有趣的是,它显示CSS中定义的width减去padding-left的{​​{1}}和padding-right。现在,当我编写这个小测试时,我缩放页面,这样我站在办公桌后面的同事可以从远处读取代码。

要了解我的要求,请按以下步骤操作:

  1. 在Chrome中打开codepen示例:http://codepen.io/anon/pen/WoYeVg(它必须在codepen上,因为我无法在代码段中重现相同的问题)
  2. 单击第一个容器。 => 160
  3. 现在等待5秒,直到文字恢复为“点击我”
  4. 按住 CTRL (Windows)或 cmd (Mac)并按 + 4次,将页面缩放设置为175%。
  5. 现在再次点击第一个容器。 =>的 160.00001525878906
  6. 主要问题:为什么在175%时不再是160?

    方面问题:为什么jQuery对待这两种盒子模型的方式不同?

    在Firefox中,我无法再现像我这样的十进制舍入问题/错误。谁知道到底发生了什么?

    请查看以下代码段:

    border-box
    $(document).ready(function() {
      var elem;
      $("div").on("click", function() {
        elem = $(this);
        elem.text(elem.width());
        setTimeout(function() {
          elem.text("click me");
        }, 5000);
      });
    })
    .a, 
    .b {
      background-color: #a00;
      color: white;
      margin: 50px;
      padding: 20px;
      width: 160px;
    }
    
    .a {
      box-sizing: content-box;
    }
    
    .b {
      box-sizing: border-box;
    }

0 个答案:

没有答案