質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

2回答

418閲覧

これはFlexboxのorderで実装できるのでしょうか?

pecchan

総合スコア592

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2020/10/03 08:23

CSSを勉強し始めたばかりの超初心者です。
メルカリ風のヘッダを作ろうとしてます。

どうやって実装できるのか分からず質問させていただきます。

モバイルなど画面幅が狭い時は3段になり、
イメージ説明

広い時は2段になります。
イメージ説明

分からないのが、右端のボタン2つ(新規会員登録とログイン)が、
3段時は、1番上の行に。
2段時は、2段目の行に移動するんです。

これはFlexboxのorderだけで実現できるのでしょうか?
orderは、colの順番を指定するものと解釈してます。

フレームワークはbootstrap4を入れてます。

実装の考え方だけでも結構です。何かヒントいただけないでしょうか?
宜しくお願いします。

html

1<div class="container"> 2 <div class="row"> 3 <div class="col-2">ロゴ</div> 4 <div class="col-10">新規会員登録、 ログイン</div> 5 </div> 6 <div class="row"> 7 <div class="col-12">テキストボックス</div> 8 </div> 9 <div class="row"> 10 <div class="col-12">カテゴリから探す</div> 11 </div> 12</div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

メルカリのサイトを検証ツールで見てみると、
PC用(2段)のヘッダーとスマホ用(3段)のヘッダーを別に用意して、メディアクエリで表示/非表示を切りえてますね。

まあ、これが一番簡単な実装法でしょう。

Flex の order でやるなら、現状のHTMLでは無理ですね。
要素内での順番を入れ替えることはできても、別の要素に移動させることはできませんのて。

Flex - Bootstrap 4.2 - 日本語リファレンス

もし、ひとつのHTMLでFlexbox と order でレイアウトを変更するなら、 Bootstrapを使うより自分でCSS書いた方がシンプルで分かり安くできそうです。

あるいは、CSS Grid を使うのもシンプルにできそうです。

投稿2020/10/03 08:42

hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/10/03 08:48

検証ツールで確認出来る事すらも知りませんでした。 「メディアクエリ」で調べてみます! ありがとうございました!
guest

0

メルカリで確認しました。

メルカリではJQueryを使用していました。
(多分他の部分のコントロールがあるから)

ただこの部分に関していえばcssのレスポンシブ対応だけで可能です

やっている方法は
「ボタンは2つあった!」
です。

PCの時は[新規会員登録][ログイン]は下のボタンのみ表示
モバイル等の画面が狭い場合は上のボタンのみ表示
と切り替えているだけです。

投稿2020/10/03 08:37

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/10/03 08:50

「メディアクエリ」てやつでしょうか? ありがとうございます! 思いがけない方法でした!
kuma_kuma_

2020/10/03 08:54

> 「メディアクエリ」てやつでしょうか? そうです。 結局はPC用画面とモバイル用画面が2種類あって 画面の幅で切り替えていたという事です。
pecchan

2020/10/03 09:46

回答有難う御座います。 お二人にベストアンサーをお付けしたかったのですが、1つしか付けれないため・・・。 先だったhatena19さんにさせていただきました。すみません。
kuma_kuma_

2020/10/03 09:49 編集

いいえ、いいんです。 一生使う事のないと思っていたセリフを書けただけで幸せです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問