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

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

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

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

HTML5

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

Q&A

解決済

3回答

623閲覧

横線の設定をしたbefore,afterにはbackground-colorを入れずにh2のテキスト部分にだけbackground-colorを入れたいです

rei-k

総合スコア2

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/11/19 04:45

編集2020/11/19 05:32
コード ```### 前提・実現したいこと 作りたい正解の写真送付しました。 条件  body background-color:rgba(0, 0, 0, .05); color:#fff; h2を囲うbackground-color:#e6e6e5; 横線の設定をしたbefore,afterにはbackground-colorを入れずにh2のテキスト部分にだけbackground-colorを入れたいです しかしbefore,afterにも背景色がつきます ### 該当のソースコード HTML/css```ここに言語名を入力 ソースコード

HTML

ここに言語を入力``` コード ``` ``` <h2>PHOTOGRAPH</h2> ``` css h2 { font-weight: 700; font-size:25px; display: flex; align-items: center; margin: 30px 0 40px;    background-color:#e6e6e5; }0. h2:before,h2:after { border-top: 3px solid; content: ""; flex-grow: 1; padding:0; } h2:before { margin-right: 1rem;![イメージ説明](40beac2bcfa0a1cf0aa3cb063a1a0808.jpeg) } h2:after { margin-left: 1rem; } ### 試したこと h2以外のタグを使うとできるができるだけ使いたくない。

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

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

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

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

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

guest

回答3

0

ベストアンサー

絶対配置を使ってみました。

サンプル

css

1h2 { 2font-weight: 700; 3font-size: 25px; 4align-items: center; 5margin: 30px auto 40px; 6background-color: #e6e6e5; 7display: flex; 8width: max-content; 9padding: 0 1em; 10} 11h2::before{ 12border-top: 3px solid; 13content: ""; 14padding: 0; 15position: absolute; 16width: 100%; 17z-index: -1; 18left: 0; 19}

投稿2020/11/21 01:30

Lhankor_Mhy

総合スコア36142

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

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

0

HTMLを変更してもいいのならテキストをspanで囲んでそれに背景色を設定すればいいでしょう。

html

1<h2><span>PHOTOGRAPH</span></h2>

css

1body { 2 background-color:rgba(0, 0, 0, .05); 3} 4 5h2 { 6 font-weight: 700; 7 font-size:25px; 8 display: flex; 9 align-items: center; 10 margin: 30px 0 40px; 11} 12h2 > span { 13 background-color:#e6e6e5; 14 padding: 0 1rem; 15} 16h2:before,h2:after { 17 border-top: 3px solid; 18 content: ""; 19 flex-grow: 1; 20 padding:0; 21}

CodePenサンプル

投稿2020/11/20 20:50

hatena19

総合スコア33782

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

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

0

beforeafter<h2>内側に入るものですので、background<h2>本体と一体のものになります。

そして、この例ではh2:beforeh2:afterborder分の高さしか取られませんので、そのまま<h2>の背景が見えてしまいます。

投稿2020/11/19 04:53

maisumakun

総合スコア145201

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問