2011-07-15 10 views

答えて

8

最も簡単な方法は、display: table-cellを使用することです。

を参照してください:http://jsfiddle.net/47d4f/

あなたの問題を解決し、また、コンテンツは、各列に異なる場合、あなたにequal height columnsを与える - それ以外の場合は取得するシンプルではない何か。

ブラウザのサポート:http://caniuse.com/css-table

+0

Little note:IE7以前は表セルをサポートしていないため、IE8には!DOCTYPEが必要です。 – Steven

+0

おっとすみません私はあなたに私が投稿を混ぜた解決策を与えることを意味しました – madprops

+0

それは私が1つの事を除いてそれを望む方法で動作します、私は位置になるためにCの列を必要とします:右にスペースを埋める、右にギャップがある、どうすればこの問題を解決できますか? – madprops

0

http://jsfiddle.net/8ufuV/17/ すべての要素を左に浮動させる必要があります。次に幅を指定します(そうするときにパディング/マージンを忘れないでください)。下に表示したい要素にclear:left;を追加します。

幸運

+0

あなたのソリューションは、それが動作しませんどのように – apparat

+0

に動作しないのですか?設定された幅を持つ3つの要素をフローティングすると、すべてのCSSのグリッドがどのように動作します。 – Steven

+1

これはどのようにして質問に答えますか? :S「中心のものを800pxの固定サイズにするにはどうすればいいですか?」 - デモでは中央のdivが80%に設定されています。 – thirtydot

0

HTML:

<div id="main"> 

<div id="leftblock">a</div> 

<div id="contentblock">b</div> 

<div id="rightblock">c</div> 

</div> 

CSS:

#main { 
    display:table; 
    width:100% 
} 

div { 
    display: table-cell 
} 

#leftblock{ 
    top: 0px; 
    left: 0px; 
    margin: 0px; 
    padding: 10px; 
    border: 5px solid #ccc; 
    voice-family: "\"}\""; 
    voice-family:inherit; 
} 

#contentblock{ 
    padding: 10px; 
    border: 5px solid #ccc; 
    width: 100px; 
} 


#rightblock{ 
    top: 0px; 
    right: 0px; 
    margin: 0px; 
    padding: 10px; 
    border: 5px solid #ccc; 
    voice-family: "\"}\""; 
    voice-family:inherit; 
} 
+0

目的は何ですか? 'voice-family:'プロパティのうちのどれですか? –

+0

** madprops **によってjsfiddleに投稿されたオリジナルのCSSファイルです。私はそれでどんな牧場も作っていない。それもなくてもうまくいくでしょう。 – Mahbub

+0

OK;あなたの答えは "use' display:table-cell'ですか?答えはコードに加えて説明する必要がありますので、あなたがそれを動作させるために何をしたのかがはっきりしています。 –

関連する問題