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

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

新規登録して質問してみよう
ただいま回答率
85.46%
コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

HTML

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

CSS

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

Q&A

解決済

2回答

3034閲覧

headerのnavメニューを縮小した時に、縦書き表記になってしまう

yume01

総合スコア1

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/10/06 01:01

前提・実現したいこと

ヘッダーのnavで記載した文字が縮小すると縦書きになってしまいます。縮小に合わせてそのままの横書きで表記させたいです。
初心者なため、拙い質問文ではありますがご回答いただければ幸いです。

発生している問題・エラーメッセージ

headerのメニューが縮小すると縦書きになってしまう

該当のソースコード

*HTMLコード

<header> <div class="header-title"> <h1>30DAYSトライアル</h1> </div> <div class="header-menu"> <nav> <ul> <a href="#"><li>ディトラとは</li></a> <a href="#"><li>コース一覧</li></a> <a href="#"><li>お問い合わせ</li></a> </ul> </nav> </div> </header>

*CSSコード
header {
width:75%;
display: flex;
justify-content: space-between;
margin: 0 auto;
text-align: center;
}

.header-title {
font-size: 24px;
}

.header-menu nav ul {
display: flex;
justify-content: space-between;
text-align: center;
}

.header-menu nav ul li {
display: flex;
justify-content: space-between;
list-style: none;
margin-right: 40px;
}

.header-menu nav ul li a {
color: #333;
text-decoration: none;
outline: none;
display: inline-block;
margin-top: 0;
}

試したこと

調べたところ、多くの方が親要素に対してposition:relative;
子要素に対してposition:absolute;のクラスを与えると解決できると記載されていましたが
実際に試すと最初から、縦書き表記になってしまいます。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

他の方の回答にもあるように現状のままでは、要素の幅があるので、どうしても折り返されますね。

レイアウトを再検討するためのヒントをいくつかあげておきます。

  • 番号リストheaderの幅を75%とせずに、max-width で最大幅を決めるようにするといいでしょう。

狭くしたときに余分な余白をなくせますので、ギリギリまで狭くできます。

設定幅

css

1header { 2 width:100%; 3 max-width: 1000px; /* お好みで調整 */ 4 display: flex; 5 justify-content: space-between; 6 margin: 0 auto; 7 text-align: center; 8}
  • ナビメニュー(header-menu)の幅の最小値を min-width で決める。最小幅は、テキスト幅の合計+余白で決めます。

設定例

css

1.header-menu { 2 min-width: 420px; 3}
  • ブラウザの既定の余白は消しておく。例えば、ul にはpadding-leftが既定で設定されているので 0 しておく。 あるいは、リセットCSSの導入を検討する。

設定例

css

1.header-menu nav ul { 2 display: flex; 3 justify-content: space-around; 4 text-align: center; 5 padding-left: 0; /* ブラウザの既定の余白をリセット */ 6}
  • margin-right: 40px;などというような固定値の余白はつけない。flex を使うなら、justify-content や gap で余白を調節する。

設定例

css

1.header-menu nav ul li { 2 display: flex; 3 justify-content: space-between; 4 list-style: none; 5}

上記のような設定である程度の幅までは、折り返されずにすみます。
ただ、各要素自体の幅がありますので、ある幅以下は、レイアウトを変更する。例えば、タイトルとナビメニューを縦並びにするとか、をメディアクエリで設定するというこも必要になるでしょう。

投稿2021/10/06 02:39

編集2021/10/06 03:05
hatena19

総合スコア33795

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

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

0

縦書きというか、文字が折り返してしまう、という話だと思いますが、

「30DAYSトライアル」は11文字でフォントサイズが24px
「ディトラとは」は6文字でフォントサイズが16px
「コース一覧」は5文字でフォントサイズが16px
「お問い合わせ」は6文字でフォントサイズが16px

ですので、全てを横並びにして折り返さないようにするには、文字だけで11*24 + 6*16 + 5*16 + 6*16 = 536pxの幅が最低限必要になります。
実際にはさらに、margin-right: 40pxが3つあり、width: 75%となっていますから、(536 + 40*3)/0.75 = 875pxの幅が必要です。

つまり、解決方法としては、レイアウトを再検討してください。
どうやっても収まらないです。

投稿2021/10/06 01:12

編集2021/10/06 01:16
Lhankor_Mhy

総合スコア36163

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問