2016-07-20 2 views
1

私はこれを生成するコードを持っていますが、私の現在のコードはかなり乱雑ですので、代わりにFlexboxを使用したいと思います。どうすればいい?コードをflexboxに変換します.2つのdivを整列します

.container { 
 
    background: red; 
 
    padding: 10px; 
 
} 
 

 
.container2 { 
 
    background: green; 
 
    padding: 10px; 
 
} 
 

 
.left { 
 
    float: left; 
 
    padding: 10px; 
 
    padding-top: 0px; 
 
    width: 48%; 
 
    background: #fff; 
 
} 
 

 
.right { 
 
    float: right; 
 
    padding: 10px; 
 
    padding-top: 0px; 
 
    width: 40%; 
 
    background: #fff; 
 
} 
 

 
.red { 
 
    width: 100%; 
 
}
<div class="container"> 
 
    <div class="container2"> 
 
    <div class="left"> 
 
     <p>Hello</p> 
 
    </div> 
 
    <div class="right"> 
 
     <p>Hello</p> 
 
    </div> 
 
    <div style="clear: both;"> 
 
    </div> 
 
    <button class="red"> 
 
    </div> 
 
</div>

JsFiddle:https://jsfiddle.net/19e8nmr3/

+0

だから2つのdivが50%、50%であることを望んでいますか?または、それらを40%48%に保つ? –

+1

フレックスボックスを使用しようとする試みはありません。どのように動作し、そこから行くのかチュートリアルを見つけるのはなぜですか? –

+0

中間の2つのdivが50%の幅を持つようにします –

答えて

0

あなたは1つの親要素でp要素をラップし、flex: 1を使用することができます。

.container { 
 
    background: red; 
 
    padding: 10px; 
 
} 
 
.container2 { 
 
    display: flex; 
 
    flex-direction: column; 
 
    background: green; 
 
} 
 
.wrap { 
 
    display: flex; 
 
} 
 
.wrap p, 
 
button { 
 
    padding: 10px; 
 
    background: #fff; 
 
    flex: 1; 
 
    margin: 10px; 
 
}
<div class="container"> 
 
    <div class="container2"> 
 
    <div class="wrap"> 
 
     <p>Hello</p> 
 
     <p>Hello</p> 
 
    </div> 
 
    <button class="red">Button</button> 
 
    </div> 
 
</div>

+0

hello 、私はこれを試してみましたが、私は左右のdivに別のコンテンツが必要な場合はどうですか? –

+0

あなたは何を意味するのか? –

+0

ラップ内にもっとテキストを追加するにはどうすればいいですか?私はこんにちはの後に別のテキストがほしいと思ったら –

関連する問題