2011-08-01 17 views
2

ラッパー幅、固定幅(ピクセル)、左右幅、中間幅の3列レイアウトのWebページを作成しようとしていますが、カラム。ここで、ソースである:3列レイアウト自動中段幅

HTML

<aside class="left"> 
    <span>Categories</span> 


</aside> 

<section> 
    <span>Main</span> 

</section> 

<aside class="right"> 
    <span>Test</span> 

</aside> 

CSS

* { 
    margin: 0px; 
    padding: 0px; 

} 

html, body { 
    height: 100%; 
    width: 100%; 

} 

.container { 

    height: 100%; 
    width: 100%; 

} 

.container > aside.left { 
    float: left; 
    width: 197px; 
    border-right: black dashed 3px; 

} 

.container > section { 
    float: left; 
    width: auto; 


} 

.container > aside.right { 
    float: left; 
    background-color: #005f98; 
    width: 200px; 

} 

答えて

0

、パーセンテージによる幅を設定してみてくださいので、例えば:

.container > aside.left { 
float: left; 
width: 31%; 
border-right: black dashed 3px; 

} 

.container > section { 
float: left; 
width: 31%; 


} 

.container > aside.right { 
float: left; 
background-color: #005f98; 
width: 31%; 

} 

厥方法私は克服した前にこの問題。

+0

ありがとうございます。それはいい考えでした。私は少しそれを微調整し、今それは動作します。 :) – Gasim

+0

多分あなたは私が正しい答えだったと言うことができます。Dha:D 喜んで私は助けることができました。 –

0

あなたは左と右の列のwidthfloatを指定した場合は、中央の列は自動的にギャップを埋めます:

http://jsfiddle.net/xHnDX/4/

あなたが見ることができるように、コンテンツのdiv要素は、実際にサイドdivをオーバーラップし、コンテンツはそれらの間に留まりますが。あなたが好きなら、あなたはここに示すように、コンテンツのdivの幅を補うために余分なコンテナを追加することができます。

http://jsfiddle.net/YauQc/

+0

私はhtmlで3つのdivsを見て、そのjsfiddleにはCSSはありません – xec

+0

私は他の方法は動作しませんでした。しかし、私は少しそれをハックしました。 – Gasim

+0

@xec、そうです。どうやら私はそれを正しく保存/更新/フォークしませんでした。再構築してリンクを更新してください。 – GolezTrol

1

あなたは絶対位置のサイドバーで、あなたの山車を置き換えることができます:

<aside class="left"> 
    <span>C</span> 
</aside> 

<section> 
    <span>M</span> 
</section> 

<aside class="right"> 
    <span>T</span> 
</aside> 

をとライブ

.left { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 50px; 
    display: block; 
    background: #ffe; 
    height: 100%; 
} 
.right { 
    position: absolute; 
    top: 0; 
    right: 0; 
    width: 50px; 
    display: block; 
    background: #fef; 
    height: 100%; 

} 
section { 
    display: block; 
    margin: 0 50px; /* Margin sized to match the sidebars */ 
    background: #fee; 
} 

http://jsfiddle.net/ambiguous/puPbu/

色とサイズは、すべてがどこにあるかを明確にするためのものです。ラッパーを入れようとしているのであれば、適切な位置にサイドバーを配置するにはposition: relativeが必要です。

1

あなたはIE7、this will workをサポートする必要がない場合:CSS3で

* { 
    margin: 0px; 
    padding: 0px;  
} 
html, body { 
    height: 100%; 
    width: 100%;  
} 

.container { 
    display: table;  
    height: 100%; 
    width: 100%; 
    min-width: 600px; 

} 
.container > aside, .container > section { 
    display: table-cell; 
    width: auto; 
} 
.container > aside.left { 
    width: 197px; 
    border-right: black dashed 3px; 
} 

.container > aside.right { 
    background-color: #005f98; 
    width: 200px; 
} 
関連する問題