こんにちは、初めて質問させて頂きます。
最近flexboxの勉強をし始めた者です。
とあるコーディング講座にて floatを使用し作成されたヘッダーを flexboxにて記述し直してみたのですが、逆に複雑になってしまいました。
一応、webページ上ではfloatで記述されたものと同じ状態で反映されてはいるのですが、この記述の考え方(記述の仕方)であっているのか不安です。
間違っていたり、もっと効率よい記述の仕方がありましたら、教えて頂けますでしょうか?
どうぞよろしくお願いいたします。
【html】
<header> <div class="wrapper"> <div class="img"> <img src="images/tel.png" alt="TEL 012-345-6789"> </div><!--.img--> <div class="logo-nav"> <div class="sentence"> <h1>○○の○○向け○○○○○○○○○○なら<br><span>【お店の名前】</span></h1> </div><!--.sentence--> <nav> <ul> <li><a href="#">ホーム</a></li> <li><a href="#">メニュー一覧</a></li> <li><a href="#">ご予約</a></li> </ul> </nav> </div><!--.logo-nav --> </div><!--.wrapper--> </header>
【CSS】
header { width:100%; margin-bottom: 20px; border-top: 5px solid #345c39; } .wrapper { width: 960px; margin: auto; display: flex; flex-direction: column; justify-content: flex-end; } .img { margin-left: auto; } .logo-nav { height: 69px; display: flex; justify-content: space-between; } .sentence { background: url(images/logo.png) no-repeat; padding-left: 51px; } .logo-nav h1 { font-size: 12px; } .logo-nav span { font-size: 33px; font-weight: bold; line-height: 54px; } .logo-nav ul { display: flex; } nav { margin-top: 40px; } a { font-weight: bold; margin-left: 29px; }
頭に.も#もつかない場合はそういうタグ名として認識されます。
サンプルなのは良いですが、構文は守っていただければと(質問は編集できます)
あと、「更に良い意見が欲しい」という方向なのであれば、HTMLもCSSもなるべく完全なものの方が好ましいです。
回答者が補完しなければならない部分が多すぎると的確なアドバイスとなりません。
div1 - div5がどのような構造でマークアップされているかがわからないと質問文の解読ができないので、ご提示いただけますか?

mts10806様、yu-smc様、大変失礼いたしました。
誤った記述方法、そして分かりづらい内容にて投稿してしまい、申し訳ございません。ご指摘下さりありがとうございます。
内容を修正させていただきました。画像も新しいものに差し替えております。
申し訳ございませんが、よろしくお願いいたします。
ありがとうございます。
ちょっとまだ実現したいことが100%わからないですね・・・。
ロゴマーク・日付・お店の名前のブロックと、画像・メニュー一覧のブロックをそれぞれ左端、右端に横並びで配置する
ということであっていますでしょうか。

yu-smc様、ご返信ありがとうございます。
意図を上手くお伝え出来ておらず、何度も申し訳ございません…。
はい、そのような配置にしたいと思っています。画像のような表示になる事を目指して、floatではなく、初めてflexを使ってマークアップをしました。
たしかに画像と同じ状態の配置にはなったのですが、果たしてこの記述方法が最善なのか自信がなく、質問させて頂きました。
もしかしたら、本来ならばもっと完結に記述できるものを、複雑に記述してしまっているのではないか?と不安に思っています。
(講座の解答は全てfloatのみで記述してあり、flexで記述した場合どのようにマークアップするかが書かれていない状態です。)
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー