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

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

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

これはCSSのfloatプロパティのタグです。指定された要素を左または右に寄せて配置する際に使用します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

1回答

865閲覧

要素の重なりをなくしたい

shiabinu0607

総合スコア11

float(CSS)

これはCSSのfloatプロパティのタグです。指定された要素を左または右に寄せて配置する際に使用します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2020/07/07 16:44

下記のコードなのですが、floatをleftとrightに設定しているので、liの要素が重なってしまっているところは理解できます。

そして、clearでfloatを解除することも分かるのですが、どこに設定していいものかが分かりません。<header-left>の閉じタグの上に<div class="clear">を作成し、CSSでclear: leftを設定してもできませんでした。

floatが両方に設定されているとclearが設定できないという記事もみたのですが、そうなってくるとflexboxで右と左を分けると良いのでしょうか。

ご回答よろしくお願い致します。

添付画像の1枚目が、現在の状況で、2枚目が完成物です。

イメージ説明
イメージ説明

HTML

1 <header> 2 <div class="container"> 3 <div class="header-left"> 4 <img src="img/siteTitle.png"> 5 </div> 6 <div class="header-right"> 7 <p>“地域に根付いた歯科医院” デンタル クリニック</p> 8 <p><span class="fas fa-phone-alt"></span>03-0000-0000</p> 9 <p>予約受付時間 10:00~19:30 <span class="holiday">日祝 休診</span></p> 10 </div> 11 <div class="site-navi"> 12 <ul> 13 <li> 14 <p>トップページ</p> 15 <p>HOME</p> 16 </li> 17 <li></li> 18 <li></li> 19 <li></li> 20 <li></li> 21 </ul> 22 </div> 23 </div> 24 </header> 25

CSS

1* { 2 margin: 0; 3} 4 5.container { 6 max-width: 930px; 7 margin: 0 auto; 8} 9 10.header-left { 11 float: left; 12} 13 14.header-right { 15 float: right; 16} 17 18

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

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

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

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

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

guest

回答1

0

ベストアンサー

flexboxで行うことをお勧めします。
floatでも .header-right:afterclear: both でおそらく解決するとは思いますが、今現在cssの時流としてfloatはほとんど使用されないため、floatで実装するメリットが少ないです。

flexboxだと、

html

1 <header> 2 <div class="container"> 3 <div class="flex-container"> 4 <div class="header-left"> 5 <img src="img/siteTitle.png"> 6 </div> 7 <div class="header-right"> 8 <p>“地域に根付いた歯科医院” デンタル クリニック</p> 9 <p><span class="fas fa-phone-alt"></span>03-0000-0000</p> 10 <p>予約受付時間 10:00~19:30 <span class="holiday">日祝 休診</span></p> 11 </div> 12 </div> 13 <div class="site-navi"> 14 <ul> 15 <li> 16 <p>トップページ</p> 17 <p>HOME</p> 18 </li> 19 <li></li> 20 <li></li> 21 <li></li> 22 <li></li> 23 </ul> 24 </div> 25 </div> 26 </header>

css

1* { 2 margin: 0; 3} 4 5.container { 6 max-width: 930px; 7 margin: 0 auto; 8} 9 10.flex-container { 11 display: flex; 12} 13 14.header-left { 15 flex: 1 0 auto; 16} 17 18.header-right { 19 flex: 0 1 auto; 20}

で重なりは解消するかと思います。

投稿2020/07/07 17:15

tsubaki961

総合スコア73

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

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

shiabinu0607

2020/07/08 10:31

なるほど!! floatで設定するのは、このようなデメリットもあるのであまり好きでは無かったので勉強になりました!! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問