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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

1回答

4940閲覧

h1タグのデフォルトマージン値を0にしても、h1に書いたテキストの開始位置を要素の先頭から表現させたい

kazuhito0106

総合スコア8

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/03/08 11:50

編集2020/03/08 12:48

前提・実現したいこと

html5とcss3でwebデザインデータをもとに模写しています。
ブロック内にあるh1タグのmargin-topの値を0にすると、h1のテキスト内容の開始位置がずれてしまいます。
これをずれない様にしたいです。
よろしくお願いします。

発生している問題

イメージ説明
h1コード内に書かれた「かわいいのは、うさぎ。」の「か」の位置を
h1要素内の左端から表示させたいのですが、h1のmargin-topの値を0にすると添付図のようになってしまいます。

該当のソースコード

html5

1 <div class="wrapper"> 2 <div class="container"> 3 <div class="content"> 4 <h1>かわいいのは、うさぎ。</h1> 5 <p>うさぎは世界で一番かわいい動物です。どうしてこんなにかわいいのでしょうか?今回はうさぎに癒されながらサイトを作っていきましょう。</p> 6 </div> 7 <button type="button" class="btn btn-pink">うさぎとは?</button> 8 <button type="button" class="btn btn-white">うさぎの可愛さの秘密</button> 9 </div> 10 </div>

css3

1.wrapper { 2 background-image: url(./img/bg.png); 3 background-repeat: repeat; 4 width: 1280px; 5 height: 595px; 6 margin: 0 auto; 7} 8 9.content { 10 width: 400px; 11} 12 13.content h1 { 14 margin-top: 0px; /* 該当箇所 */ 15 line-height: 1; 16 font-size: 36px; 17}

エラー発生前

イメージ説明
h1のmargin-topの値を0にする前(=初期値)の場合、添付図の様に要素内の左端から文字が表示されています。
この状態だと、margin分の余計な空白ができてしまうので、削除したいです。

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

html5, css3,

追加ソースコード

header部分

html5

1 <header> 2 <div class="container"> 3 <div class="header-left"> 4 <img src="./img/logo.png" width="160" height="60" alt="ロゴ"> 5 </div> 6 <div class="header-right"> 7 <button type="button" class="btn btn-pink">お問い合わせ</button> 8 </div> 9 </div> 10 </header>

css3

1header { 2 height: 90px; 3 width: 1280px; 4 margin: 0 auto; 5} 6 7.container { 8 width: 1080px; 9 margin: 0 auto; 10} 11 12.header-left { 13 float: left; 14} 15 16.header-left img { 17 padding: 15px 0; 18} 19 20.header-right { 21 float: right; 22} 23 24.header-right { 25 padding: 21px 0 ; 26} 27

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

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

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

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

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

guest

回答1

0

ベストアンサー

上のソースコードだけだときれいに表示されます。おそらく、Bunny!というロゴのせいでそのようなことになっているのでしょう。そこの部分のソースコードも張り付けていただくか、h1margin分、.wrapperpadding-topを設定すればよいと思います。

投稿2020/03/08 11:58

soliste16

総合スコア757

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

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

kazuhito0106

2020/03/08 12:28

soliste16様 回答ありがとうございます! .wrapperにpadding-topを設定すると解決できましたが、なぜ解決できたのかが分からないですが。。 contentの親要素であるwrapperにpaddingが無いのが原因?? Bunny!というロゴが書かれたheaderのソースコードも添付させていただきます。
soliste16

2020/03/08 12:40

wrapperの上端は基本的には中の要素がある部分に設定されます。この場合ではh1の文字の上端がその部分になります。問題はh1のmarginはwrapperの上端に含まれないということです。これによりwrapperの上部にh1のmargin分の空きができてしまいます。しかしwrapperにpaddingを設定するとpadding部分には背景が表示されるので空白がなくなったようになるということです。代わりにmarginを加えても、marginはwrapper要素の外側と認識されるので背景はつきません。デベロッパーツールでwrapperを見ながらpaddingを変えてみると理解しやすいと思います。
kazuhito0106

2020/03/08 13:10

paddingだと要素内の距離を指定するので背景も加わることから、空白ができなくなるのですね。 検証ツールで変えながらやってみると理解できました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問