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

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

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

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

HTML5

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

Q&A

解決済

1回答

334閲覧

同じ要素の中で2つのcss(1つは前方一致指定)を持っている時にstyleを適用したい。

qa-second

総合スコア12

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/09/01 09:40

html

1<div class="sec color*"></div>

css

1.sec{ 2 width: 100%; 3 height: 50vh; 4 background-color:#ffffff; 5} 6.color1{ 7 border:4px solid red; 8} 9.color2{ 10 border:4px solid black; 11} 12.color3{ 13 border:4px solid blue; 14}

とあったとします。
同じ要素のクラスに"sec"と、"color"を前方一致で持つクラスがあった時にスタイルを適用するにはどうしたら良いでしょうか。

この例で言うと、
class="sec"は通常背景色は#ffffffだが、color1、color2、color3いずれかが同じ要素のクラス内に入った時、背景色を#888888;にしたいということです。
colorクラスは一つだけで、123のいずれかが差し替えられるイメージです。
CSSのみで実現は可能でしょうか。

css

1.sec[class^="color"]{ 2 background-color:#888888; 3}

と連結してみましたが、ダメでした。

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

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

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

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

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

guest

回答1

0

ベストアンサー

[xx=yy]形式は文字列で判断するので前方一致だとcolorが先頭にないと反応しません

css

1.sec[class^="color"],.sec[class*=" color"]{ 2 background-Color:#888888; 3}

投稿2020/09/01 10:46

yambejp

総合スコア115010

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

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

qa-second

2020/09/02 10:30

実現したいことがかないました!感謝申し上げます。 同じ要素内のclassの中でも順序が大切なんですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問