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

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

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

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

HTML5

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

Q&A

解決済

3回答

340閲覧

タイトルの位置を調節したい

web83740439

総合スコア8

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2022/10/04 06:21

前提

タイトル(治療内容)の位置を緑の背景内で、
上に78px、下に70pxをあけて表示させたい。
padding-top:78px;、padding-bottom:70px;で指示すると
文字の位置は調節できるが、今度はアンダーラインがずれてしまう。

実現したいこと

タイトルの位置を上に78pxあけて表示させたい。

イメージ説明

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

/* 治療内容 */
.about {
height: 1520px;
background-color: #F5FCF8;
text-align: center;

}

h4 {
font-size: 24px;
background: linear-gradient(transparent 70%, #99E5A5 70%);
max-width: 96px;
margin: 78px auto 70px;

}

.treatment-sub {
font: 16px;
color: #444444;
text-align: center;
margin-bottom: 34px;
font-weight: thin;
}

該当のソースコード

<div class="about">
<div class="treatment"> <h4>治療内容</h4> <p class="treatment-sub">以下の検査項目以外でも、まずはご相談頂けますと幸いです。</p> </div>

試したこと

padding-top:78px;、padding-bottom:70px;で指示すると
文字の位置は調節できるが、今度はアンダーラインがずれてしまう。

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

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

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

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

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

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

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

yambejp

2022/10/04 06:24

「緑の背景内」とは?
guest

回答3

0

ちょっと解説

こういうデザインの場合私は普段は、1つのセクションの上下にpaddingをつけるようにしています!
↓多分こんな感じのレイアウトかな?と思いますので、緑色背景である.treatmentの上下にpaddingをつけます。

(白)   別のセクション ------------------------------------ (padding-top:78px) (緑)    .treatment (padding-bottom:78px ?) ------------------------------------ (白)   別のセクション

「治療内容」と、その下の文章「以下の検査項目以外でも、まずはご相談頂けますと幸いです。」の間の余白は、

  • 「治療内容」にmargin-bottom: 70px;
  • または、文章にmargin-top: 70px;

どちらかの方法でつけたらいいと思います!

コード例

html

1<div class="about"> 2 3 <div class="treatment"> 4 <div class="inner"><!-- div追加 --> 5 <h4 class="section-title">治療内容</h4><!-- クラス名追加 --> 6 <p class="treatment-sub">以下の検査項目以外でも、まずはご相談頂けますと幸いです。</p> 7 </div> 8 </div> 9 10</div>

css

1/* 治療内容 */ 2.about { 3 /* 4 要素の高さは、要素の中の内容物のサイズや、 5 レスポンシブで画面幅が変わったら高さも変わるので、 6 あまり固定値(pxなど)で指定しない方がいいです。 7 */ 8 /* height: 1520px; */ 9 /* background-color: #F5FCF8; */ 10 /* text-align: center; */ 11} 12 13.treatment { 14 background-color: #F5FCF8; 15 padding-top: 78px; 16 padding-bottom: 78px; 17} 18 19/* 中身の最大幅を決めて、左右を中寄せにする */ 20.inner { 21 max-width: 1200px; 22 margin-right: auto; 23 margin-left: auto; 24} 25 26.section-title { 27 width: fit-content; 28 margin-right: auto; 29 margin-left: auto; 30 background-image: linear-gradient(transparent 70%, #99E5A5 70%); 31 font-size: 24px; 32 text-align: center; 33 /* max-width: 96px; */ 34 /* margin: 78px auto 70px; */ 35} 36 37.treatment-sub { 38 font: 16px; 39 color: #444444; 40 text-align: center; 41 margin-top: 70px; 42 /* margin-bottom: 34px; */ 43 font-weight: thin; 44}

投稿2022/10/04 07:20

編集2022/10/04 07:23
Cocode

総合スコア2314

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

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

Cocode

2022/10/04 07:21

ベストアンサー決定後に失礼しました。 回答を書いているうちに解決済みになられたのですね! 無事解決されてよかったです。 私の投稿は無視してくださって大丈夫です。
web83740439

2022/10/05 06:34

わかりやすい説明ありがとうございました。
guest

0

.treatment h4に設定しているmargin: 78px auto 70px;margin-top: 78pxが効かないという問題ですよね。
原因は、マージンの相殺という動作です。これは、けっこうはまることになるので、理解しておくことをお勧めします。

マージンの相殺の習得 - CSS: カスケーディングスタイルシート | MDN

marginの相殺が起こる3つのケースと例外を紹介! | 模写修行メディア

解決方法としては、上記リンクにもいろいろ紹介されてます。親要素のpaddingを使うとか。
下記のように親要素に flow-root を設定するという方法などもあります。

css

1.treatment{ 2 display: flow-root; 3}

投稿2022/10/04 07:04

編集2022/10/04 07:33
hatena19

総合スコア33715

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

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

web83740439

2022/10/04 08:18

コメントありがとうございます。 空の要素に設定する上下のmarginでの相殺だったとの理解で間違い無いでしょうか。
hatena19

2022/10/04 08:47

「親要素と子要素に設定する同方向のmargin」の相殺ですね。 h4 の上方向の margin が親要素(.treatment)の外にはみ出て、さらにその親要素(.about)の外にもはみ出ている状況です。
web83740439

2022/10/05 06:34

ありがとうございます。 難しいですね。もう少し記事を読み込みます。 解説ありがとうございました。
guest

0

ベストアンサー

こういうことでしょうか?

CSS

1<style> 2.treatment{ 3 background-Color:gray; 4 padding-top:78px; 5} 6.treatment h4 { 7font-size: 24px; 8background: linear-gradient(transparent 70%, #99E5A5 70%); 9max-width: 96px; 10margin:auto; 11margin-bottom:70px; 12height:-moz-fit-content; 13} 14</style> 15<div class="treatment"> 16<h4>治療内容</h4> 17<p class="treatment-sub">以下の検査項目以外でも、まずはご相談頂けますと幸いです。</p> 18</div>

投稿2022/10/04 06:31

yambejp

総合スコア114837

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

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

web83740439

2022/10/12 03:36

一番早く対応していただき ありがとうございます。 素早く解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問