我有两个div元素,其中一个包裹另一个。然后我使用JavaScript在运行时向外部div添加边框。基于webkit的浏览器在外边框更改时不会进行重排。最终结果看起来很丑 - 内部div溢出外部。这是HTML代码: [div id =“outer] [div id =”inner“style =”border:solid blue;身高:50px;“] [/ div] [/ div]
事件处理程序也很简单: document.getElementById(“outer”)。setAttribute(“style”,“border:solid green”)
当我发现它时,我无法相信它,因为它是如此微不足道的回流任务。还是我错过了什么?有没有人遇到类似的问题,解决方法是什么?感谢。
答案 0 :(得分:0)
border: solid green
未说明任何尺寸,例如:"border:1px solid green"
我认为重置整个style
属性是不安全的,因为你可能会搞砸其他一些东西。尝试将一个类添加到className
,这有点清晰。
答案 1 :(得分:0)
如果将外部和内部设置为float:left,它将按计划运行。但是,您需要给它一个固定的宽度或者在div(内部)中包含内容。
#outer { float: left;}
#inner { float: left;}
[div id =“outer”] [div id =“inner”]文字[/ div] [/ div]