javascript - Firefox box-sizing + expanding div = missing padding?

标签 javascript jquery html css firefox

我一直在尝试通过 box-sizingpadding 来解决这个问题,我有一个扩展的 div(随着时间的推移添加内容)。上述案例在 ie 和 Chrome 上运行良好,但在 Firefox (33.0.2) 上表现奇怪。

这是链接

http://codepen.io/anon/pen/mydPdV

按住按钮。该按钮将通过以下方式将您带到页面末尾:

$("#button").click(function(){
    $("#container").scrollTop(99999999999999999);
});

在页面填满并出现滚动条后,您会看到出于 osme 的原因 padding-bottom 将留在页面之外 - 仅在 firefox 上!在 Chrome 和 IE 上它可以正常工作。

似乎 Firefox 在这里做了一些错误的计算?或者 int 根本不计算扩展/动态内容的填充?我漏掉了一点吗?

我正在寻找快速修复。

最佳答案

$("#button").click(
  function(event){
    event.preventDefault();
    var newdiv = $("<div>");
    newdiv.text("Here is some dummy content");
    $('#content').append(newdiv);

    //$('#container').prop('scrollHeight');
    var sh = parseInt($("#content")[0].scrollHeight);
    //$('body,html').animate({scrollTop:sh},1000);
    $(window).scrollTop(sh);
    //return false
  }
);
body{
  text-align: center;
  margin: 0;
  background-color: lightgray;
  width: 100%;
  height:100%;
}
#container{
  background: lightpink none repeat scroll 0 0;
  margin:5%;
  width: 90%;
  -webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		    box-sizing: border-box;
}
#button{
  padding: 16px;
  background-color: white;
  cursor: pointer;
}
#content div {
  background-color: #eee;
  margin-bottom: 8px;
  padding: 16px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
  <div id="content"></div>
  <div id="button">PRESS ME</div>
</div>

关于javascript - Firefox box-sizing + expanding div = missing padding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26900218/

相关文章:

javascript - javascript可以从构造函数内部传递自身吗

javascript 名称值不起作用

javascript - 将网址/链接粘贴到文本框中时预览小图片

javascript - 按标签对复选框进行排序

jquery - 通过查找删除类名

javascript - 使用 JS 覆盖类的样式,以便更改可以在具有该类的所有元素上可见

javascript - Redux reducer promise 处理

html - 如何将 <img> 放在背景图片后面

html - CSS : Border bottom transition issue

javascript - CSS JavaScript 链接