2016-12-07 9 views
0

水平方向に均等に配置された3つのボックス(黒、赤、青)を作成したいとします。私の試みでは、それぞれdivinline-blockに設定し、divsleft,centerおよびrightに整列させて設定しました。ただし、レンダリングすると、3つのボックスはすべて左に揃えられます。私が実際に望むのは、最初のボックスが外側のdivの左に、3番目のボックスが外側のdivの右側に、そして次に中央のボックスが正確に1番目​​と3番目の真ん中になるようにすることですボックス。3つのdivの水平方向の均等化

ここに私のコードです:

<div style="width:1000px"> 
 

 
    <div style="display:inline-block; text-align:left; width:200px; height:100px; background-color:black"></div> 
 
    
 
    <div style="display:inline-block; text-align:center; width:200px; height:100px; background-color:red"></div> 
 
    
 
    <div style="display:inline-block; text-align:right; width:200px; height:100px; background-color:blue"></div> 
 

 
    </div>

+0

はい、私はちょうど、外側のdivの幅は1000pxである、と付け加えました3つすべてを一列に収める。 – Karnivaurus

+0

あなたはここで誇張して何をしようとしていますか?それは明確ではない – Liam

+0

左にプッシュすると、divがすべて外側のdivの左に揃えられていることを意味します。私が実際に望むのは、右側の最初のボックス、中間の2番目のボックス、外側のdivの右側の3番目のボックスです。 – Karnivaurus

答えて

1

これを行うにはダースさまざまな方法はおそらくあります。ここでは一つだ:

<div style="width:1000px; text-align:center"> 
 
    <div style="display:inline-block; float:left; width:200px; height:100px; background-color:black"></div> 
 
    <div style="display:inline-block; width:200px; height:100px; background-color:red"></div> 
 
    <div style="display:inline-block; float:right;width:200px; height:100px; background-color:blue"></div> 
 
</div>

フロート最初と最後のdivとテキストが中央のdiv要素を処理するために中央に親に合わせ設定してください。

OKは、ここ(フレキシボックスで)別です:

<div style="width:1000px; display:flex; justify-content: space-between;"> 
 
    <div style="width:200px; height:100px; background-color:black"></div> 
 
    <div style="width:200px; height:100px; background-color:red"></div> 
 
    <div style="width:200px; height:100px; background-color:blue"></div> 
 
</div>

+0

display:インラインブロック;フロート:左。良い組み合わせではありません。フローティング要素は自然に表示されます:ブロック; –

+0

@JohannKratzik最初の例からインラインブロックを削除し、何が起こるかを見てみましょう。 – j08691

+0

コメントしますか? – j08691

0

あなたは33%の幅のために行く、その後、100%の幅コンテナ内左にdiv要素のそれぞれをフロートすることができますそれぞれの。

#cointainer { 
 
    width: 100%; 
 
    color: white; 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
#left { 
 
    width: 33%; 
 
    float: left; 
 
    background-color: black; 
 
} 
 
#center { 
 
    width: 33%; 
 
    float: left; 
 
    background-color: red; 
 
} 
 
#right { 
 
    width: 33%; 
 
    float: left; 
 
    background-color: blue; 
 
}
<div id="cointainer"> 
 
    <div id="left">blah blah blah</div> 
 
    <div id="center">blah blah blah</div> 
 
    <div id="right">blah blah blah</div> 
 
</div>

0

あなたが使用できるフレキシボックス:それはする必要がありますので

<div style="width:1000px; display: flex; justify-content: space-between"> 
    <div style="width:200px; height:100px; background-color:black"></div> 
    <div style="width:200px; height:100px; background-color:red"></div>  
    <div style="width:200px; height:100px; background-color:blue"> 

Complete tutorial here

関連する問題