cssの優先度の問題ですね!
cssを記述する際は、classやid、htmlにstyle属性で直書きするなどたくさんの方法がありますよね??
なのでcssの書き方によって優先度(これのほうが強い!)みたいなのが設定されています!
具体的にはこのサイトを見ていただけるとわかるかもしれません。
!importantはもう使わない!CSSの優先順位をおさらいしよう
上の記事から引用しますが、
指定方法 例 ポイント
全称セレクタ * 0
タイプセレクタ p 1
擬似要素 :first-child 1
擬似クラス [type="text"] 10
classセレクタ .fugafuga 10
idセレクタ #piyopiyo 100
要素に直書き style="" 1000
このようになっています。
つまりこれを使って要素のポイントを計算し、高いほうが適応されるわかです。
githubacさんの例で言うと
input[type="text"] = input(タイプセレクタ) + [type="text"]
= 1 + 10
= 11
.form_error = .form_error(classセレクタ)
= 10
上のinput[type="text"]のほうがポイントが高いですよね?
なので、いくら.form_errorを追加しても反映されないのです。
cssが上書きされないのはこれが原因です。
もし.form_errorを適応させたい場合は、指定方法のポイントを11以上(同じ数だと下に書いてあるほうが適応されます)にすればいいのです!
おそらく
.form_error {
border: 2px red solid;
}
を
intput.form_error {
border: 2px red solid;
}
とすれば
intput.form_error = input(タイプセレクタ) + .form_error(クラスセレクタ)
= 1 + 10
= 11
で同じ数なので下に書いてあるintput.form_errorが適応されます。
長くなってしまいましたがこれで解決できれば幸いです!
失礼します!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/07 05:49
2015/08/07 06:31
2015/08/07 07:09