2011-08-16 9 views
4

ている私は幅に設定いくつかのdiv要素のすべてを持っている:私のウェブサイト上で100%:表:のdiv:100%が異なる

<div id="participate" class="test"> 
    participate 
</div> 

<div id="description" class="test"> 

    <div id="brief" style="display:table-cell"> 
&nbsp; 
    </div> 

    <div id="price" style="display:table-cell"> 
&nbsp; 
    </div> 

</div> 

<div id="bottom" class="test"> 

    <div id="partners" class="test"> 
&nbsp; 
    </div> 

    <div id="content" class="test"> 
&nbsp; 
    </div> 

</div> 

のみ#bottomは、ディスプレイを設定しています。私がボーダーを設定すると、#borderは他のdivよりも2倍に小さく見えます。

#border width:100.3%を設定すると、この解決策は私には再入力されたようです。問題はクロムに存在し、ファイアフォックスには存在しません。

どうして私はそれを取り除くことができますか?

ご了承ください。 border S width一部されていないデフォルトbox-sizing: content-box

+0

のdiv要素は、その親によって拘束されています。外側のdivにパディングまたはボーダーがある場合、内側のdivの100%の幅は、利用可能なものにのみ満たされます。 –

答えて

4

https://developer.mozilla.org/en/CSS/box-sizing

div要素。国境width一部であるdisplay: tablebox-sizing: border-boxを、設定Chromeの場合

、。

これは、ここに示されています:一貫性のある2つのdiv Sを作るためにhttp://jsfiddle.net/thirtydot/wsEkc/

最も簡単な方法は、box-sizing: border-box(およびそのベンダー接頭辞変種)を適用することです。

を参照してください:他のdivの内側http://jsfiddle.net/wsEkc/3/

+0

残念ながら、ボックスサイズだけではこの問題は解決されていません。私はボックスサイズ:border-boxを使用しました。 -moz-box-sizing:border-box;/* Firefox */ -webkit-box-sizing:border-box;/* Safari */w3schoolsのウェブサイトで提案されているもの。それが仕事です。 –

+0

ええ、それは言うまでもありません:)私は自分の答えの書式を改善するためにそれらを残しましたが、最後のjsFiddleデモにそれらを含めました。 – thirtydot