私は2つの子を持つブロック要素を持っています。これはcalc()
で簡単にする必要があります:上記のスニペットで2つの要素の間にスペースを分割するときの余分なピクセル
var left = document.getElementById("left");
var right = document.getElementById("right");
var info = document.getElementById("info");
var offset = 5;
function toggleStyle() {
if (offset === 5) {
offset = 7;
} else {
offset = 5;
}
info.innerHTML = right.style = left.style = "width: calc(50% - " + offset + "px);";
}
toggleStyle();
#container {
width: 300px;
height: 160px;
background-color: green;
}
#left, #right {
display: inline-block;
background-color: blue;
height: 150px;
margin-top: 5px;
margin-bottom: 5px;
}
#left {
margin-right: 5px;
}
#right {
margin-left: 5px;
}
<div id="info"></div>
<button onclick="toggleStyle()">Toggle</button>
<div id="container">
<div id="left"></div>
<div id="right"></div>
</div>
を、私は300ピクセル50% - 5px
= 145px広いべきである子供を持つ親、プラス5pxのマージンをそれぞれ持っています。つまり、2人の子供とそのマージンは、正確に300ピクセルを占める必要があります。私がこのように設定したら、彼らはラップします。子供1人につき余分に2ピクセルを差し引くと、余白を含めてそれぞれ148ピクセルしか測定されませんが、スペースを正確に埋めるように見えます。余分なピクセルはどこから来ていますか?
::ため息::男は、私は本当にHTMLを嫌い、いくつかの日。 – Coderer
@コーディネーター多くの場合、最悪の問題の原因となる最も単純なものです! :)将来の参考として、これは "インラインブロック"表示で起こりますが、空白を手動で削除することも、HTMLコメントも機能させることもできます。例えば'
<! - ここで必要なだけのスペース! - > ' – FluffyKitten