javascript - 当填充发生变化时,如何让 Chrome 调整此 div 的大小?

标签 javascript css google-chrome

更新:在 fiddle 上添加了 css 转换以使其更清晰

当通过 javascript 从这个 div 中删除填充时,Chrome 不会调整内容的大小以适应(即,红色的 div 不会覆盖黄色,它保持相同的大小): http://jsfiddle.net/XDchs/4/

同样,如果添加了填充,内容将被推到 div 之外: http://jsfiddle.net/XDchs/3/

Firefox 会按我的预期调整大小。有谁知道为什么,以及如何解决它?

HTML:

<div id="outer">
  <div id="inner">
    <div id="content">blah</div>
  </div>
</div>

CSS:

#outer {
  background-color:blue;
  width:300px;
  margin:0 auto;
}
#inner {
  padding-left:100px;
  margin:2px;
  background-color:yellow;
  -webkit-transition:padding-left 2s;
  -moz-transition:padding-left 2s;
}
#inner.no-padding {
  padding-left:0;
} 
#content {
  background-color:red;
}

JavaScript:

$(document).ready(function() {
  $("#inner").addClass("no-padding");
});

最佳答案

我不知道为什么 Chrome 会出现不正确的行为,但您可以通过重置宽度来解决:

#inner.no-padding {
    padding-left:0;
    width: 100%;
}

关于javascript - 当填充发生变化时,如何让 Chrome 调整此 div 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405043/

相关文章:

javascript - 按属性对 JavaScript 对象排序

javascript - 为什么 Chrome 在包含 Javascript 文件后添加查询字符串参数?

javascript - Angularjs - 将指令中的值绑定(bind)到 ng-show/hide 文档中的任何位置

javascript - 如何在不使用隐藏字段的情况下访问 C# 代码中的 javascript 变量

jquery - 使用 Jquery 更改 CSS,如何保留规则的一部分

css - @font-face 在 chrome 中不工作

jquery - $ ('*' ).not ('input' ) 不适用于 chrome 中的密码字段?

node.js - 运行 V8 javascript 引擎示例代码时出错

html - 方形链接后的 CSS 左三 Angular 形

javascript - 为什么这个更改 css id 的 Javascript 命令不起作用?