私は現在、動的な幅の div のズーム レベルでいくつかの奇妙な動作を修正しようとしていますが、少し困惑しています。
outerWidth()
問題は、jquery を使用して 2 つの div で同じ値を設定しようとすると発生しbox-sizing: border-box
、一方にはパディングがあり、もう一方にはパディングがなく、ブラウザーのズームは「丸くない」値 (例: chrome では 67% または 33%) に設定されています。サファリのほぼ全員)。サイズは同じですが、パディングのある方が他のレベルよりも小さいこれらのレベルを除きます。
ここに私の問題の例があります: http://jsfiddle.net/ARMMB/3/
編集:問題を明確にするために。@jimjimmy1995が言ったように、他のdivにラップすることでこれを回避する方法がありますが、ページのデザイン全体を変更しないとどこでも使用できないため、完全な解決策ではありません. ズームレベルに応じて正確なサイズを計算する方法と、ここで機能した場合の外側の幅のパディングをもっと探しています。
html:
<body>
<div id ="a">text a</div>
<div id ="b">text b</div>
</body>
CSS:
#a{
background-color: red;
border-right: 1px solid black;
padding-left: 5px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#b{
background-color: blue;
border-right: 1px solid black;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
js:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
newWidth= 150;
$("#a").outerWidth(newWidth);
$("#b").outerWidth(newWidth);
});
</script>