私は外側の余白またはパディングをオンにしたいいくつかのフレックス行を持っています。例えば、内容が画面の端から50px以内に届かないようにします。フレックス行の外側のパディング/マージンを設定するにはどうすればよいですか?
私はwidth
、min-width
、およびflex-basis
ですべてのやり方で試してみました。私が何か正しいものに近づくたびに、何らかの理由でコンテンツの位置がずれることや、ビューポートの外にコンテンツが流出することがあります。
フレックスボックスを使用していない場合、これは単に行の設定margin: auto 50px;
で非常に簡単ですが、フレックスボックスでは動作しないようです。私が使用しています
Flexの設定は次のとおりです。この例では
div {
position: absolute;
width: 100%;
display: flex;
justify-content: center;
flex-direction: row;
justify-content: space-between;
}
div:nth-of-type(1) {
top: 10%;
margin: 0;
}
div:nth-of-type(2) {
top: 20%;
margin: auto 50px;
}
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
私はいいと中心のすべてを有する第2行はちょうど最初のように動作するのでしょう2番目の行の外側に50pxのマージンを単純に変更して、元のビューポート内の内容で整列します。
更新
また今min-width
またはflex-basis
と外側にその行内の2つの「スペーサー」フレックスアイテムを追加することをいじって試みたが、これはまた、所望の結果を生成しません。
基本的には、境界に到達するのではなく、ビューポートの端から一定の幅を残して、次に特定の点で2つの行に分割するのではなく、すべてを縮小したい。
私は 'フレックス追加することにより、目的の動作を実現することができますようだ:メディアクエリで' 0 0 50%を...しかし、これはまだ罰金私を許可していませんフレックス列の外側の余白を制御します。より直接的な制御方法で達成する方法を知りたい。 –
それはマージンを台無しにしているflexboxではありません。それは 'position:absolute'です。ドキュメントフローから要素を削除すると、周囲の要素は気になりません。それはそれらを正しく通り抜けます。あなたのフレックスコンテナは絶対に配置する必要がありますか? –
@Michael_Bああそれは意味をなさないです...はい、これはマルチページアプリの中のフルページ画面なので、私はトップ/ボトムとメディアクエリーに基づくパーセンテージを使用しています。私はそれが大体、さまざまな縮み/成長/基底値を使って欲しいものをどのように振る舞わせるかを知っていましたが、私はまだもっと厳しい制御が大好きです。この性質を離散的に設定するために私が演奏できる提案はありますか? –