teratail header banner
teratail header banner
質問するログイン新規登録

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

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

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

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

CSS

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

Q&A

1回答

276閲覧

ヘッダー上部に謎の空白ができる

tsl56

総合スコア3

HTML

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

CSS

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

0グッド

0クリップ

投稿2024/12/10 03:40

編集2024/12/10 04:04

0

0

実現したいこと

ヘッダーは上に固定し、sectionに余白をつけたい

前提

sectionにmarginをつけたのですが、ヘッダーがsectionが始まる位置にきており、一番上でfixされません。

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

エラーメッセージ

該当のソースコード

HTML

1<header class="header"> 2 <div class="inner"> 3 <h1> 4 <a href="#" class="header-logo"> 5 <svg width="179" height="30" viewBox="0 0 179 30" fill="none" xmlns="http://www.w3.org/2000/svg"> 6 </svg> 7 </a> 8 </h1> 9 </div> 10 <button class="hmb" type="button" aria-label="メニューを開く" aria-controls="nav" aria-expanded="false"> 11 <span></span> 12 <span></span> 13 <span></span> 14 </button> 15 </header> 16 <nav id="nav" class="menu js-menu"> 17 <div class="overlay js-overlay"> 18 <img src="image/menu-bg.jpg" alt="menu-img"> 19 <ul class="list js-list" aria-hidden="true"> 20 <li> 21 <a href="index.html" class="rotate"> 22 <span>HOME</span> 23 <span>HOME</span> 24 </a> 25 </li> 26 <li> 27 <a href="#" class="rotate"> 28 <span>PROFILE</span> 29 <span>PROFILE</span></a> 30 </li> 31 <li> 32 <a href="" class="rotate"> 33 <span>NEWS</span> 34 <span>NEWS</span></a> 35 </li> 36 <li> 37 <a href="" class="rotate"> 38 <span>EVENT</span> 39 <span>EVENT</span></a> 40 </li> 41 <li> 42 <a href="" class="rotate"> 43 <span>CONTACT</span> 44 <span>CONTACT</span></a> 45 </li> 46 </ul> 47 </div> 48 </nav> 49 <main> 50 <section id="about-mv"> 51 <div class="a-mv__inner"> 52 <div class="a-mv__wrap"> 53 <div class="a-mv__title"> 54 <div class="inner"> 55 <h1>PROFILE</h1> 56 <p> 57 指導者賞受賞実績を持つ講師をはじめ、 58 幅広く活動をしている講師が寄り添い、 59 丁寧にレッスンいたします。 60 </p> 61 </div> 62 </div> 63 <div class="a-mv__image"> 64 <img decoding="async" src="image/profile_image.jpg" alt="profile"> 65 </div> 66 </div> 67 </div> 68 </section> 69 </main>``` 70 71```CSS 72#about-mv { 73 position: relative; 74 width: 100%; 75} 76.a-mv__inner { 77 position: relative; 78} 79.a-mv__wrap { 80 display: flex; 81} 82.a-mv__title { 83 position: relative; 84 flex: 1; 85} 86.a-mv__image { 87 overflow: hidden; 88 border-radius: 4px 0 0 4px; 89} 90.a-mv__title .inner h1 { 91 color: var(--title); 92 line-height: 1.6; 93 letter-spacing: .4em; 94 word-break: keep-all; 95} 96.a-mv__title .inner p { 97 line-height: 2; 98} 99@media print, screen and (min-width: 769px) { 100 .a-mv__inner { 101 margin-top: 18rem; 102 } 103 .a-mv__image { 104 width: 82rem; 105 } 106 .a-mv__title .inner { 107 position: absolute; 108 inset: 10rem 7rem auto auto; 109 } 110 .a-mv__title .inner p { 111 margin-top: 2.5rem; 112 } 113} 114@media print, screen and (max-width: 768px) { 115 .a-mv__wrap { 116 flex-direction: column-reverse; 117 margin-top: 5rem; 118 } 119 .a-mv__image { 120 width: 34.5rem; 121 margin-left: auto; 122 } 123 .a-mv__title .inner { 124 width: 31.5rem; 125 margin-inline: auto; 126 padding-block: 4rem; 127 } 128 .a-mv__title .inner p { 129 margin-top: 1.5rem; 130 } 131}``` 132 133### 試したこと 134 135bodyにmargin0を設定しましたが、変わりません。 136 137### 補足情報(FW/ツールのバージョンなど) 138 139ここにより詳細な情報を記載してください。

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

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

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

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

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

yambejp

2024/12/10 03:53

現象が確認できません。HTMLの提示が必要です。 印刷の余白のことでしょうか?
tsl56

2024/12/10 04:05

HTML追記しました
juner

2024/12/10 04:24

ソースの ``` はそれが行頭である必要があります。 つまり次の様に書くべきです ``` ソース ```
juner

2024/12/10 04:35

playground としては次な感じですね https://livecodes.io/?x=id/9qzqeqxc2qh 見た感じ yambejp さんの言っている通り body と h1 の margin 問題ぽいですね。(display: block だと display: block flow になってしまう為、 margin が 相殺してしまう為 実際の場所ではない場所の margin が反映されて見えるのが問題ですね。 相殺自体を無効化する場合は display: block flow-root にするのが手ではありますが ここに関しては yambejp の言うように margin を 0 にするのが手っ取り早いと思います。 https://developer.mozilla.org/ja/docs/Web/CSS/CSS_box_model/Mastering_margin_collapsing
guest

回答1

0

h1にもマージンが設定されるのでこんな感じで

css

1body{ 2margin:0; 3padding:0; 4} 5h1{ 6margin:0; 7}

投稿2024/12/10 04:10

yambejp

総合スコア117816

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問