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

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

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

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

Q&A

解決済

3回答

722閲覧

CSSのクラス内において、任意のタグに一括で装飾を行う方法はありますでしょうか?

soi

総合スコア34

CSS

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

0グッド

0クリップ

投稿2020/07/06 09:30

編集2020/07/07 05:12

#質問したいこと
HTMLのh1タグを装飾したい場合、例えば、

CSS

1h1{ 2 color:blue; 3}

以上のような書き方でh1タグ内の言葉を装飾できるかと思います。
では、クラス内の特定のタグのみ装飾したい場合はどのようにすればいいのでしょうか?

#具体例

HTML

1 <div class="log-form"> 2  <form> 3    <input type="text" title="username" placeholder="username" /> 4    <input type="password" title="password" placeholder="password" /> 5    <button type="submit" class="btn">Login</button> 6 </form> 7</div>

例えば以上のようなコードで、log-formクラスのinputのみをCSSにより一括で装飾したいのですが、いまいち方法が分かりません。色々試しましたが、全く出来そうになかったです。
inputのみに適用する別のクラスを立てるべきなのでしょうか?
どのような方法が一般的か、ご教示ください。よろしくお願いします。

#環境
macOS Catalina 10.15.5
Google Chromeバージョン: 83.0.4103.116
Apacheを使いローカル環境で確認しています

#追記
.log-form input{}により選択できるとの指摘を多く受けたので、こちらの場合の不具合の詳細について追記いたします。

CSS

1.log-form input{ 2  background-color: red; 3}

このようにCSSで記入した場合、パスワードの欄だけが赤塗りになります。

イメージ説明

HTMLには問題がないと思うのですが。。

HTML

1 <div class="log-form"> 2 <form> 3 <ul> 4 <li class="log-form-username"> 5 <label for="name">ユーザーID</label> 6 <input type="text" title="username" placeholder="username" /> 7 </li><br> 8 <li class="log-form-password"> 9 <label for="name">パスワード</label> 10 <input type="password" title="password" placeholder="password" /> 11 </li><br> 12 <li class="log-form-button"> 13 <button type="submit" class="btn">Login</button> 14 </li><br> 15 </form>

ゴールとしては、usernameとpasswordそれぞれの入力フォームを同じ形にした上で、CSSで触れるようにしたいです。
見落としてる箇所わかる方いましたら、ご助言お願い致します。

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

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

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

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

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

m.ts10806

2020/07/06 10:55

「色々試した」方法を一通りだして、それについて「なぜできなかったか」をアドバイス得た方が本質的な理解に繋がるのでは
soi

2020/07/07 05:10

ご回答ありがとうございます。回答の皆さんから指摘を受けた.log-form inputセレクタにCSSを当てたときの不具合について追記いたしました。仰る通りこちらの方が本質的にわかってなかった点のようです
gogoweb_ikeda

2020/07/07 05:16

background-colorの色指定の個所を red !important; に変更してみてください。 それで色が変わるようでしたら他のセレクタで上書きされています。
soi

2020/07/07 05:26

ありがとうございます! 確かに色が変わりました、他のスタイルが適用されてしまっていたようです。 他のCSSを確認してみます!
Daregada

2020/07/07 05:53

HTMLの内容をできるだけ隠そうとするから、回答が求めているものではなくなるのです。 今回の件で言えば、head要素内でCSSを複数読み込んでいる部分が質問文に含まれていれば、「別のCSSファイルの設定が影響しているのでは」という回答が早めに出てきたでしょう。
guest

回答3

0

ベストアンサー

.log-form inputセレクタで当該のものを選択できます。

ただし、inputtypeによって全く挙動が変わってしまうという特徴がありますので、inputにまとめてスタイルを適用するのには要注意です。

投稿2020/07/06 09:39

maisumakun

総合スコア145183

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

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

soi

2020/07/07 05:07

ご回答ありがとうございます。恐らくご指摘のtypeによる挙動の違いだと思います、そちらについて調べて見ます。
maisumakun

2020/07/07 05:10 編集

ユーザー名の方に別なスタイルが適用されていたりはしませんでしょうか?(他に何かしらのスタイルを適用しているなら、それを提示していただければと思います)
soi

2020/07/07 05:18

仰る通り、他の既存のスタイルによってユーザー名のように別のスタイルが適用されていたようです! 一度他のスタイルを全て消してみたらユーザー名の方にも赤塗りが当たりました。 他のCSSは量があるので、何が当たっているか探すのはこちらでやろうと思います。大変助かりました、ありがとうございます!
guest

0

普通に子孫セレクターを使って、

CSS

1.log-form input { 2 background-color: wheat; 3}

みたいにすればできるんだけど、やってみましたか?

投稿2020/07/06 09:38

Daregada

総合スコア11990

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

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

soi

2020/07/07 05:08

ご回答ありがとうございます。 そちらはやってみましたが、追記の通り挙動がおかしく今回該当しないものなのかなと考えていました。他で見落としがあるようなので、調べております。
guest

0

css

1.log-form input { 2 /* かけたいスタイル */ 3}

のように 親要素 と 子要素(指定タグ) をスペースでつなげば
親要素内の指定タグに一括してスタイルを当てられます^^

投稿2020/07/06 09:37

編集2020/07/06 09:41
-millmill-

総合スコア674

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

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

-millmill-

2020/07/06 09:39

セレクタを使えば、もっと細かい指定も可能です。 css セレクタ でググってみて下さい^^
soi

2020/07/07 05:08

ご回答ありがとうございます。 細かい指定が必要になりそうなので、調べて頭に入れてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問