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

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

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

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

CSS

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

Q&A

解決済

1回答

375閲覧

タイトルの文字の下半分から背景の色を適用させたい

h19ka

総合スコア13

HTML

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

CSS

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

0グッド

0クリップ

投稿2023/01/22 03:07

cssのレイアウトがうまくいかないので教えていただけると幸いです。

実現したいこと

タイトルの文字の下半分から背景の色を適用させたいです。
イメージとしては以下のようにしたいです。(タイトルがEXAM)
イメージ説明

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

本文の要素にbackground-colorを設定して、topで位置を調整したところ、
タイトルの上に背景色が表示されます。
イメージ説明

該当のソースコード

HTML

1 <h3 class="title">会社概要</h3> 2 <div class="company_data"> 3   <dl> 4  <div class="company_data_item"> 5   <dt class="color-gray">会社名</dt> 6   <dd>株式会社あいうえお</dd> 7   </div> 8   </dl> 9 </div>

CSS

1 .title { 2 position: absolute; 3 z-index: 1; 4 } 5 .company_data { 6 position: relative; 7 top: -50px; 8 z-index: 0; 9 /* 親要素をはみ出して横幅いっぱいに背景を適用する */ 10 margin: 0 calc(50% - 50vw); 11 width: 100vw; 12 background-color: #EDEDED; 13 padding: 5rem 20%; 14 } 15 16

試したこと

①参考サイトでは、before要素でbackgroundを使用し、背景の色を作ってる感じでした。
試してみたんですが、背景が設定できませんでした。

②potisionを設定せず、transform: transrateY で位置調整をしてみたんですが、
同じようにタイトルの上にかぶってしまいました。

backgroundをずらすことはできないんでしょうか。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ご希望のことは、簡潔にいうと、
タイトル(<h3 class="title">)に次の要素(<div class="company_data">)の背景を重ねたいということでしょうか。

提示のコードだけなら、タイトルにはz-index: 1;が効いているので次の要素の前面に出てきますので、隠れることはないです。提示されていない部分のコードに問題があると思われます。

蛇足ですが、
次の要素を重ねる場合、position: absolute;を使うと通常フローから外れますので、他のレイアウトに影響を与えて複雑になりがちです。ネガティブマージンを使って重ねるのがシンプルかつ悪影響が少ないのでお勧めです。

css

1 .title { 2 position: relative; 3 z-index: 1; 4 font-size: 30px; 5 } 6 .company_data { 7 margin-top: -15px; /* ここで重なり量を指定 */ 8 width:100%; 9 background-color: #EDEDED; 10 }

投稿2023/01/22 06:51

hatena19

総合スコア33699

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問