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

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

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

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

Flex

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

HTML

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

Q&A

解決済

1回答

1602閲覧

pタグの文字だけに背景色をつけたい

ayu_mi

総合スコア6

CSS3

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

Flex

FlexはFlash PlayerやAdobe Airで動作するRIA(リッチインターネットアプリケーション)を開発する為のフレームワークです

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

HTML

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

0グッド

1クリップ

投稿2021/12/21 15:48

編集2021/12/21 23:26

Pタグの文字部分のみに背景色をつけたいです。
(PC版は実装できていたのですが、SP版ができず、原因がわかりません)

PC→display:flex
SP→flex-direction: columnに変更しました。

HTML

1<ul> 2 <li> 3 <img src="img/" alt="イメージ画像"> 4 <div> 5 <p>テキスト</p> 6 <div class="hoge"> 7 <p>ここに背景色をつけたいです</p> 8 <p>ここに背景色をつけたいです</p> 9 </div> 10 </div> 11 </li>

CSS

1@media(max-width:375px){ 2li{ 3 flex-direction: column; 4} 5li > div{ 6 width: 100%; 7 margin: 0 auto; 8} 9li > div > p:first-of-type{ 10 font-size: 1.8rem; 11 margin-bottom: 6px; 12} 13li:not(:last-of-type){ 14 margin-bottom: 56px; 15} 16li img{ 17 width: 330px; 18 height: 230px; 19 margin-bottom: 24px; 20 margin: 0 auto 24px; 21} 22.hoge{ 23 flex-direction: column; 24} 25.hoge > p{ 26 display: inline; 27 font-size: 1.2rem; 28 background-color: #ccc; 29 padding: 0px 10px; 30 margin-bottom: 6px; 31} 32 33}

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

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

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

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

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

niconic73027793

2021/12/21 15:56

メディアクエリの指定はしていますか?
ayu_mi

2021/12/21 16:04

@media screen and (max-width:375px) こちらの記述はしています。
niconic73027793

2021/12/21 16:16

提示されたソースに @media(max-width:375px){ .hoge{ backgroud:#ccc; } とか記載がなかったので、 それもソースに書いていただけると回答しやすいかもです。
ayu_mi

2021/12/21 16:31

ご指摘ありがとうございます。 変更いたしました。
m.ts10806

2021/12/21 21:59 編集

実際のコードにない記述はコードブロック内にふくまないでいただけると。 ** ↑これ。 たぶんないだろうなとは思うのですが、かといって本当にあったケースもゼロではないので(しかもそれが問題の原因だった)。 見ている人には提示された内容が全てです。 手元で確認する際に勝手に加工はできません。
ayu_mi

2021/12/21 23:28

ご指摘ありがとうございます。 削除しました。 今後気をつけて参ります。
ayu_mi

2021/12/21 23:45

ご確認ありがとうございます。 この際、文字の部分だけに背景色をつけたいのですが、横幅いっぱいに広がってしまいます。 私だけでしょうか?
m.ts10806

2021/12/22 00:04

pではなくspanにするとか。 inlineではなくinline-blockとか?
ayu_mi

2021/12/22 00:31

ご回答ありがとうございます。 どちらもできませんでした。 pの中にspanを入れてみたりもしたのですが、どうしてもpタグに色がついてしまいます。 私の勉強不足もあるかと思います。
m.ts10806

2021/12/22 00:33

いえ、p自体をspanに
ayu_mi

2021/12/22 00:35

背景色をつけたい箇所のpをspanにですね。 やってみたのですが、変わりませんでした。
guest

回答1

0

ベストアンサー

親要素に display: flex; が効いていて、子要素がブロックレベルになっているのかな?
下記の修正をしたらどうなりますか。

css

1.hoge{ 2/* flex-direction: column; 削除 */ 3 display: block; /* 追加 */ 4}

それか、下記のようなことがご希望でしょうか。

html

1 <div class="hoge"> 2 <p><span>ここに背景色をつけたいです</span></p> 3 <p><span>ここに背景色をつけたいです</span></p> 4 </div>

css

1.hoge{ 2 display: flex; 3 flex-direction: column; 4} 5.hoge > p{ 6 display: inline; 7 font-size: 1.2rem; 8 padding: 0px 10px; 9 margin-bottom: 6px; 10} 11.hoge > p > span { 12 background-color: #ccc; 13}

Codpenサンプル

投稿2021/12/22 04:39

編集2021/12/22 07:28
hatena19

総合スコア33782

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

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

ayu_mi

2021/12/22 06:40

ご回答ありがとうございます! ブロック要素にしたら横並びになってしまい、今回は縦並びにしたかったため、うまくいきませんでした。 言葉不足で申し訳ありません。 spanタグを入れてみましたが、どうしてもpタグいっぱいに色がついてしまいます。 もう少し調べてみようと思います。
hatena19

2021/12/22 07:27

回答したサンプルです。テキストだけに背景色がついているはずです。 https://codepen.io/hatena19/pen/KKXvLMp 提示されていない部分のCSSが影響しているのでしょう。 症状が再現できるコードを提示していただけないと、原因の特定は無理ですね。
ayu_mi

2021/12/22 08:03

ご丁寧にありがとうございます。 そうですね、記述部分以外のコードが影響しているかもしれませんね。 spのみ実装できないというのもおかしいですね。 .hoge{ display: flex; } .hoge p{ font-size: 1.2rem; background-color: #ccc; padding: 0px 10px; margin-bottom: 16px; } .hoge p:first-of-type{ margin-right: 10px; } spanは入れていなかったのですが、こちらの記述でpcの方は背景色がついていました。 ありがとうございます!
ayu_mi

2021/12/22 12:41

お騒がせいたしました。 原因がわかりました。 pc版のcssの記述を継承していたようです。 pタグに#cccを記述していたため、要素いっぱい背景色が広がっていたようです。 どうもありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問