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

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

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

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

CSS

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

Q&A

1回答

854閲覧

menubarの設定で全てのメニューをバランスよく配置したい

Ponppp123

総合スコア1

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/12/10 11:40

編集2021/12/10 15:34

解決したいこと

イメージ説明
menubarの設定で、写真のように2個目以降左側に余白が入ってしまっているので、余白を除き全てのメニューをバランスよく真ん中に配置したい。

該当のソースコード

NEW:/*全体の設定を追加いたしました。

HTML

1<div class="nav-fix-pos"> 2<nav id="menubar"> 3<ul> 4<li><a href="index.html">メニュー</a></li> 5<li><a href="index.html">メニュー</a></li> 6<li><a href="index.html">メニュー</a></li> 7<li><a href="index.html">メニュー</a></li> 8<li><a href="index.html">メニュー</a></li> 9<li><a href="index.html">メニュー</a></li> 10<li><a href="index.html">メニュー</a></li> 11<li><a href="index.html" target="_blank" rel="noopener noreferrer">メニュー</a></li> 12</ul> 13</nav> 14</div>

一部だけだと、余白がなくなる↓イメージ説明

CSS

1/*メニュー1個あたりの設定*/ 2#menubar li{ 3 padding: 0 8px; 4 flex: 1; 5} 6 7#menubar li a { 8 margin: 0 auto; 9 display: block; 10 text-decoration: none; 11 text-align: center; 12 line-height: 45px; 13 border-right: 1px dashed #ccc; 14}

余白が入ってしまう↓

CSS

1/*全体の設定 2---------------------------------------------------------------------------*/ 3body { 4 5 6 7 margin: 0px;padding: 0px; 8 color: #000; /*全体の文字色*/ 9 font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif; /*フォント種類*/ 10 font-size: 15px; /*文字サイズ*/ 11 line-height: 2; /*行間*/ 12 -webkit-text-size-adjust: none; 13 background: #fff; /*背景色*/ 14} 15h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form { 16 margin: 0px;padding: 0px;font-size: 100%;} 17ul { 18 list-style: none; 19} 20 ol {padding-left: 40px;padding-bottom: 15px;} 21img {border: none;max-width: 100%;height: auto;vertical-align: middle;} 22table {border-collapse:collapse;font-size: 100%;border-spacing: 0;} 23iframe {width: 100%;} 24 25 26/*メニューブロックの設定*/ 27#menubar{ 28 max-width: 1200px; /*最大幅。#header、.contents、#pagetopと数字を合わせる*/ 29 position: relative;z-index: 2; 30 margin: 0 auto; 31 background: #F0C; /*背景色(古いブラウザ用)*/ 32 background: rgba(255,255,255,0.9); /*背景色。255,255,255は白の事で、最後の0.9は透明度90%の事。*/ 33 height: 45px; /*メニューブロックの高さ。ここを変更する場合、fixmenu.cssの「body.is-fixed .header」も変更する。*/ 34 padding: 10px 0; /*上下、左右へあける余白。ここの10pxの数字を変更する場合、fixmenu.cssの「body.is-fixed .header」も変更する。*/ 35} 36/*トップページのメニューブロックの設定*/ 37#top #menubar{ 38 border-radius: 10px; /*角丸のサイズ*/ 39 -webkit-box-shadow: 2px 5px 8px rgba(0,0,0,0.2); /*影の設定。右・下・ぼかし幅・色(rgba)の設定。rgba値は左3つが色指定(この場合は黒)で最後の0.2は透明度20%の事。*/ 40 box-shadow: 2px 5px 8px rgba(0,0,0,0.2); /*同上*/ 41} 42/*メニュー1個あたりの設定*/ 43#menubar li{ 44 padding: 0 8px; 45 flex: 1; 46} 47 48#menubar li a { 49 margin: 0 auto; 50 display: block; 51 text-decoration: none; 52 text-align: center; 53 line-height: 45px; 54 border-right: 1px dashed #ccc; 55} 56 57/*1個目メニューの設定*/ 58#menubar li:first-child { 59 margin-left: 2.8%; /*左側にバランスよく余白を入れる*/ 60} 61 62#menubar li:first-child a { 63 border-left: 1px dashed #ccc; /*左側の線の幅、線種、色*/ 64} 65/*マウスオン時と、現在表示中(current)設定*/ 66#menubar li a:hover, 67#menubar li.current a { 68 color: #fff; /*文字色*/ 69 background:#f0c; /*背景色*/ 70} 71/*小さい端末用(画面幅800px以下)メニューを表示させない*/ 72#menubar-s { 73 display: none;#top #menubar { 74 border-radius: 10px; /*角丸のサイズ*/ 75 -webkit-box-shadow: 2px 5px 8px rgba(0,0,0,0.2); /*影の設定。右・下・ぼかし幅・色(rgba)の設定。rgba値は左3つが色指定(この場合は黒)で最後の0.2は透明度20%の事。*/ 76 box-shadow: 2px 5px 8px rgba(0,0,0,0.2); /*同上*/ 77 } 78 /*メニュー1個あたりの設定*/ 79 #menubar li { 80 padding: 0 8px; 81 flex: 1; 82 } 83 84 #menubar li a { 85 margin: 0 auto; 86 display: block; 87 text-decoration: none; 88 text-align: center; 89 line-height: 45px; 90 border-right: 1px dashed #ccc; 91 } 92} 93/*3本バーアイコンを表示させない*/ 94#menubar_hdr { 95 display: none; 96}

試したこと

・HTMLの余白を削除
・jsfiddleでどこまでが余白が入るか確認
・google dev toolsで1個目のメニューと2個目のメニューの違いを比較↓

CSS

1#menubar li:first-child { 2 margin-left: 2.8%; 3}

が1個目には入っていた。
・ulのpaddingをピンポイントを0にする
・シンプルなソースコードに変更(回答参照)

その他予想したこと(どう修正したらいいかまでは分からず)

・余白はlist-styleプロパティをnoneに指定した跡?
・display: flex; に変更したのでどこかが対応していない?
・各ブラウザが持つmarginやpaddingの初期値が反映されている?

再現するために必要だと思われるソースコード

CSS

1/*PAGE TOP設定 2---------------------------------------------------------------------------*/ 3#pagetop { 4 clear: both; 5 max-width: 1200px; /*最大幅。#header、#menubar、.contentsと数字を合わせる*/ 6 margin: 0 auto; 7} 8#pagetop a { 9 text-decoration: none; 10 text-align: center; 11 display: inline-block; 12 float: right; 13 color: #000; /*文字色*/ 14 font-size: 20px; /*文字サイズ*/ 15 padding: 0px 30px; /*上下、左右へのボックス内余白*/ 16 background: #e2458a; /*背景色*/ 17 border-radius: 4px 4px 0px 0px; /*角丸のサイズ。左上、右上、右下、左下。*/ 18} 19/*マウスオン時*/ 20#pagetop a:hover { 21 background: #e2458a; /*背景色*/ 22 color: #FFF; /*文字色*/ 23}

CSS

1/*MENUページのページ内メニュー 2---------------------------------------------------------------------------*/ 3ul.navmenu { 4 padding-top: 0px; 5 padding-bottom: 0px; 6 text-align: left; 7} 8ul.navmenu li { 9 display: inline-block; 10 padding: 10px; 11}

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

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

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

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

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

itagagaki

2021/12/10 11:56

再現させるのにコードが不十分です。 少なくともクラス nav-fix-pos に対応するCSSコードが無いようです。
Ponppp123

2021/12/10 12:01

コメントありがとうございます。 もう少し該当ソースコードの情報を増やしてみようと思います。 nav-fix-pos はテキストエディタで検索してみたのですが、該当するものがなく…そのせいかもしれないですね。 もう少し調べてみます。
Lhankor_Mhy

2021/12/11 05:35

問題が再現しませんでした。
guest

回答1

0

こうゆうシンプルな感じだと駄目なんでしょうか?
最初の画像に書いてあること以外で何か条件があったりしますか?

css

1#menubar a { 2 border-right: 1px solid olive; 3} 4 5#menubar li:last-of-type a { 6 border-right: none; 7} 8 9ul { 10 list-style: none; 11 display: flex; 12 justify-content: center; 13} 14 15a { 16 color: tomato; 17 text-decoration: none; 18 padding: .05em 2em; 19 margin-left:-1px; 20} 21

html

1<div id="menubar"> 2 <ul> 3 <li><a href="#">text</a></li> 4 <li><a href="#">text</a></li> 5 <li><a href="#">text</a></li> 6 <li><a href="#">text</a></li> 7 <li><a href="#">text</a></li> 8 </ul> 9</div> 10

投稿2021/12/10 14:07

編集2021/12/10 15:17
recal

総合スコア1126

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

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

Ponppp123

2021/12/10 15:03

ご回答ありがとうございます。 上記のシンプルなものを試してみましたところ、何も表記されなくなってしまいました。 CSSのみ変化すると、何も変化がなく、HTMLとCSSを変化すると、全て消えてしまします。 分かりにくい日本語で申し訳ありません。
Ponppp123

2021/12/10 15:31

何度も試していただき、確認用のソースコードまでありがとうございます。 結果としては、真っ白にはならなかったものの、変化がなく文字の左側に余白が残るままでした。 もしかすると、該当ソースコード以外の場所で何か変更しないといけない箇所があるのかもしれません。 もう一度、確認してみます。 この度は当方の力不足でご回答から解決ができず申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問