7
votes

La classe CSS ne remplacera pas la frontière

J'ai stylé tous mes champs de texte avec une bordure gris et pour les champs avec class = "form_field_error" , je veux que la couleur de la bordure passe au rouge.

J'ai essayé Le code suivant, mais je ne peux pas obtenir ma classe de remplacer la bordure précédemment définie? Qu'est-ce que je manque?

html: xxx

css: xxx

j'ai créé un < un href = "http://jsfiddle.net/zyb6x/" rel = "noreferrer"> jsfiddle pour illustrer le problème.


0 commentaires

4 Réponses :


0
votes

Avez-vous essayé de préciser quelle div pour appliquer la bordure rouge comme celle-ci? XXX

et sur une note latérale - L'ID que vous avez défini comme "titre" est-ce juste pour celui-ci ou Pensez-vous à la réutiliser?

Parce que vous pourriez aussi faire -> xxx


0 commentaires

8
votes

L'entrée [TYPE = "Texte"] CSS prend la priorité sur le .form_field_error CSS.

changez-le à INPUT.FORM_FIELD_ERROR et la bordure fonctionnera.


0 commentaires

4
votes

Essayez ceci:

.form_field_error {
    border: 1px solid #f00 !important;
}


0 commentaires

1
votes

Je recommanderais d'utiliser: XXX

La règle "! IMPORTANT" ne doit être utilisée que comme dernier recours - Option nucléaire - car il dépassera toutes les autres tentatives de cibler un élément basé sur Spécificité précise et pertinente, réduisant ainsi le contrôle que vous avez et créez des barrages routiers potentiels pour les futurs développeurs. Par conséquent, la manière appropriée, et la meilleure façon de gérer est de commencer avec le même sélecteur que l'original que vous essayez de remplacer, puis ajoutez simplement la seule chose qui la distingue de l'original. De cette façon, la spécificité sera précisément ce que vous voulez.


0 commentaires