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

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

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

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Bootstrap

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

HTML

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

CSS

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

Q&A

解決済

4回答

2868閲覧

cssでどうやっても要素が横並びにできない

noliiiiii

総合スコア13

CSS3

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Bootstrap

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/10/20 06:18

編集2020/10/20 11:06

ナビゲーションバーを作成しているのですが、display:inline-blockや、float: left、親要素へのdisplay:flex等など様々に試したのですが、どうしてもliの個々の要素の後に改行が入ってしまい、liを横ならびにできません。
(もう何日もナビゲーションで引っかかっていて悲しくなってきました…笑)

.navbar-brandは左寄せ、その他のli要素は右寄せで表示させたいのですが、そもそも要素が横並びにできないところからつまずいてしまっています。

HTML

1 2<div id="wrapper"> 3<div class="container"> 4<header> 5 <nav id="gnav"> 6 <ul class="navbar-nav"> 7 <li class="navbar-brand"><a href="#"><img src="img/x.png"></a></li> 8 <li><a href="#aboutus">ABOUT US</a></li> 9 <li><a href="#field">FIELD</a></li> 10 <li><a href="#price">PRICE</a></li> 11 <li><a href="#blog">BLOG</a></li> 12 <li class="nav-mail"><a href="mail:xxx"><img src="img/mail.png" alt="メール"></a></li> 13 <li class="phone-num"><a href="tel:0999999999">09-9999-9999</a></li> 14 </ul> 15 </nav> 16</header> 17 18..... 19 20</div> 21</div>

ナビゲーションバーは、960pxのcontainerで包んでいます。

CSS

1#gnav { 2 background-color: #FFFFFF; 3 font-weight: bold; 4 width: 100%; 5} 6 7.navbar-brand { 8 margin: 0; 9 padding:0; 10} 11 12navbar-nav ul { 13 list-style: none; 14 margin: 0; 15 padding: 0; 16} 17 18.navbar-nav li { 19 width: 140px; 20 display: inline-block; 21 22}

もしかしたらここでない、ほかの要素が影響しているのかとも思うのですが、初心者故解決策がわかりません。
もし追加で必要な情報等ありましたら書きたしますので、どうかご教示いただけますと幸いです。

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

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

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

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

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

Lhankor_Mhy

2020/10/20 06:47

HTML5に wrapper というタグはないと思いますが、なんらかのフレームワークを使っているのですか?
Lhankor_Mhy

2020/10/20 06:48

また、Bootstrap の質問タグがついていますが、ご提示のコードは Bootstrap と関係がないようです。 これは無視してかまいませんか?
noliiiiii

2020/10/20 11:12

ご指摘いただきありがとうございます!修正しました。全体的にはBootstrapをしています。最初に書いておかずすみません。実は、ナビゲーションバーも最初はBootstrapにて作成していたのですが、#navigation等使って設定すると.container幅である960pxをはみ出してしまうのを修正できなかったため、このような形になってしまっていました。 今のところはBootstrapは無視して大丈夫です。 <nav id="navigation" class="navbar fixed-top navbar-expand-lg"> <a class="navbar-brand" href="#">
Lhankor_Mhy

2020/10/21 05:20 編集

>今のところはBootstrapは無視して大丈夫 これは、①「Bootstrap を読み込んでいないので、その影響を無視しても大丈夫」ですか? それとも②「Bootstrap を読み込んでいるので影響はあるが、Bootstrap に沿った記述をすることについて無視しても大丈夫」ということですか? (私は②ではないかと思っています)
noliiiiii

2020/10/23 01:25

ご返信遅くなりすみません、②です!
guest

回答4

0

ベストアンサー

Bootstrap 以外のご回答が出たようなので、Bootstrap を利用した回答をいたします。

html

1 <nav id="gnav" class="navbar navbar-expand navbar-light bg-light"> 2 <!-- ^クラスを追加する-->

参考:

navbarを始める前に下記を確認してください。

  • .navbar は .navbar-expand{-sm|-md|-lg|-xl} と color scheme が必要です。

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

質問の変更を受けて追記

「Bootstrapは無視して大丈夫」とのことですが、おそらく読み込んではいると思うので、以下のようにしてみてはいかがですか?

css

1.navbar-nav { 2 flex-direction: row; 3}

投稿2020/10/20 07:29

編集2020/10/21 06:48
Lhankor_Mhy

総合スコア36960

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

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

noliiiiii

2020/10/23 01:29

いろいろとありがとうございます。 結論から申し上げると、下でDaregadaさんがおっしゃっているように問題は提示されたコード以外にあるようで、一度立ち返ってナビゲーションをやはりBootstrapを使って作ることにしました。 navbarはみ出してしまう問題はこちら(https://teratail.com/questions/184050)で解決しました。 (nav要素に container クラスを付与) いろいろな方のおかげで調べるとっかかりができて、大変勉強になりました。 ありがとうございます。
guest

0

まず、HTMLに wrapper とか container とかのタグはありません。(headerやnavはHTML5で定義されますが。)
<div class="container"> というようにdiv要素にクラス名を付けるように変更してください。

あと、navbar-nav ul というセレクタも間違ってますね。
ul.navbar-nav としてください。

一応、提示のコードで横並びになっていますので、もし、横並びにならないないなら提示されていない部分が影響しているのでしょう。

.navbar-brandは左寄せ、その他のli要素は右寄せで表示させたいのですが、

横並びは今ならFlexBoxを使うのがお勧めです。下記で左寄せ、右寄せを指定できます。

css

1#gnav { 2 background-color: #FFFFFF; 3 font-weight: bold; 4 width: 100%; 5} 6 7ul.navbar-nav { 8 list-style: none; 9 margin: 0; 10 padding: 0; 11 display: flex; /* 横並び */ 12} 13 14.navbar-brand { 15 margin: 0; 16 padding:0; 17 margin-right: auto; /* 左寄せ */ 18} 19 20.navbar-nav li { 21 width: 140px; 22 display: inline-block; 23}

投稿2020/10/20 07:11

hatena19

総合スコア34075

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

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

0

提示されたHTMLファイルのheader要素の内容を、提示されたCSSファイルを適用した状態で表示すると、li要素の幅を140pxにしてdisplayプロパティをinline-blockにしているので、横並びで表示されます。

つまり、あなたの問題は提示されたコード以外にあります。たとえば、link要素のCSSファイルを指定する部分に問題があってスタイルシートが読み込まれていないなど。
HTMLファイルの内容を隠さずに、すべてを提示してください。

余談: 提示された部分にも問題があります(が、横並びにならない原因ではありません)。

  • wrappercontainerという要素はHTMLにはありません。
  • img要素には、alt属性による代替テキストの指定が必須です。
  • スタイルシートのnavbar-nav ulの先頭に.が必要です。

投稿2020/10/20 06:53

Daregada

総合スコア11990

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

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

0

結局質問した内容に対しての解決方法ではなくなってしまったのですが、問題点が自分で見つけられなかったため、Bootstrapを使用してナビゲーションバーを作ることにしました。

Bootstrapのnavbarを使うと、.containerで幅を960pxに指定していてもナビゲーションバーが画面幅いっぱいに広がってしまうのがネックだったのですが、
https://teratail.com/questions/184050
に記載の、nav要素に container クラスを付与という解決方法でなんとかなりました。

投稿2020/10/23 01:33

noliiiiii

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問