Flexbox一般的なユースケースのレイアウトのベストプラクティスに関するソリューションを探しています。
この例では、Flexboxを使用して、スコア番号を右にフロートさせます。使用することを考えました。
position: absolute,
right: 0,
しかし、問題は、外側ボックスと中央揃えを使用できないことです。
私が考えることができる別の方法は、画像と名前部分をラップする別のフレックスボックスを作成し、使用する外側のフレックスボックスを作成することです
justifyContent: 'space-between'
予想されるレイアウトを作成します。
これは非常に一般的なUIパラダイムのように思えますが、ベストプラクティスは何でしょうか。どうもありがとうございました!
この素晴らしいガイドを使用して、一般的なFlexbox質問: https://css-tricks.com/snippets/css/a-guide-to-flexbox
擬似コード:
<View style={{flexDirection: 'row', alignItems: 'center'}}>
<ProfilePicture />
<Text style={{flex: 1}}>{username}</Text>
<ScoreNumber />
</View>
これにより、3つの要素が隣り合ってレンダリングされ、Text
が使用可能なすべてのスペースを占有するため、ScoreNumber
が右側にプッシュされます。
これはあなたを助けます
.parent {
display: flex;
}
.child2 {
margin-left: auto;
}
<div class="parent">
<div class="child1">left</div>
<div class="child2">right</div>
</div>
つかいます justify-content: space-between
プッシュエレメントを側面にプッシュします。
.flex {
display: flex;
justify-content: space-between;
}
.flex-grow {
flex-grow: 1;
}
.one {
border: 1px solid black;
width: 20px; height: 20px;
}
.two {
border: 1px solid black;
width: 20px; height: 20px;
}
.three {
border: 1px solid black;
width: 20px; height: 20px;
}
Growing middle element
<div class="flex">
<div class="one"></div><div class="two flex-grow"></div><div class="three"></div>
</div>
Without growing element
<div class="flex">
<div class="one"></div><div class="two"></div><div class="three"></div>
</div>
Without middle element
<div class="flex">
<div class="one"></div><div class="three"></div>
</div>
この素晴らしいチュートリアルを参照して、フレックスボックスの動作を簡単に理解してください。 https://css-tricks.com/snippets/css/a-guide-to-flexbox/