記事公開日

CSSで「display:flex;」とレスポンシブで起きる二行目の問題。

お客さん

CSSで「display:flex;」を使ったとき、二行目の左右の位置とか、均等な余白での幅調整がどうしてもうまくいかないの。

何か良い方法ない?

隊員1号

お答えします!

レスポンシブデザインを意識した中で、display:flexを使うと、2行目のレイアウトがなかなか思うようにいかないことが多いです。

ul {
 display:flex;
 flex-wrap:wrap;
}
ul li:nth-of-type(1) {
 flex-basis:50%;
}
ul li:nth-of-type(2) {
 flex-basis:50%;
}
ul li:nth-of-type(3) {
 flex-basis:80%;
}

上記のように「flex-wrap:wrap;」で100%を超えたときは折り返すように指定して、ブロック一つずつにflex-basisで幅を指定するようにしてみてください。

パソコン・タブレット・スマホをメディアクエリを使って振り分ける手間は増えますが、nth-child(odd)やnth-child(even)のような偶数・奇数も活用すれば、イメージ通りのレイアウトができるはずです。

この記事のURLをコピー

メールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

関連情報

運営者プロフィール
運営者のプロフィール画像
隊員1号

IT系フリーランスとして10年の経験を持つレスキュー隊。HTML・CSS・JS・PHPなど幅広いスキルを持つ。

詳しいプロフィール