余分なhtmlマークアップを必要とせずに、ピクセル幅のパディングまたはマージンを流動的な列のデザインに組み込む方法を誰かが知っているかどうか疑問に思いました。
さらに説明するために、次のような単純なhtml/cssレイアウトを考えてみましょう。
<style>
.cont{width:500px;height:200px;border:1px solid black;}
.col{float:left;}
#foo{background-color:blue;width:10%;}
#bar{background-color:yellow;width:30%;}
#baz{background-color:red;width:60%;}
</style>
<div class="cont">
<div class="col" id="foo">Foo</div>
<div class="col" id="bar">Bar</div>
<div class="col" id="baz">Baz</div>
</div>
これは正しく表示されます(その他のcss表示のバグは無視して対処できます)。ただし、たとえば10pxのパディングをcol
クラスに追加すると、フロートはインラインで表示されなくなります。クラスに3pxの境界線を配置したい場合も同じですcol
。ボックスモデルから作成された追加のピクセルを反転させるために負のマージンを使用するcssテクニックを見てきましたが、それでも<div>
幅は縮小されません。つまり、基本的に、私が欲しいのは、10%の幅を維持できるようにするテクニックですが、その10%の10pxはパディング(またはマージンなど)です。