103 votes

Remplacer element.style par CSS

J'ai une page HTML depuis le constructeur de pages, et elle injecte style directement à l'élément. J'ai trouvé que c'est considéré comme element.style .

Je veux le remplacer par un CSS. Je peux faire correspondre l'élément, mais cela ne le remplace pas.

screenshot

Comment puis-je remplacer le style à l'aide de CSS ?

143voto

DiscoInfiltrator Points 1899

Bien que ce soit souvent désapprouvé, vous pouvez techniquement l'utiliser :

display: inline !important;

Ce n'est généralement pas une bonne pratique, mais dans certains cas, cela peut être nécessaire. Ce que vous devez faire, c'est modifier votre code de manière à ne pas appliquer de style à la balise <li> éléments en premier lieu.

24voto

Kuldar Leement Points 231

Ce CSS va écraser même le JavaScript :

#demofour li[style] {
    display: inline !important;
} 

ou pour le premier seulement

#demofour li[style]:first-child {
    display: inline !important;
}

13voto

Ayman Safadi Points 8354

element.style provient du balisage.

<li style="display: none;">

Il suffit de retirer le style de l'HTML.

7voto

ersaloz Points 71

Bien sûr, l'astuce de !important est décisive ici, mais un ciblage plus spécifique peut aider non seulement à ce que votre remplacement soit réellement appliqué (les critères de poids peuvent prévaloir sur !important), mais aussi à éviter de remplacer des éléments involontaires.

Avec les outils de développement de votre navigateur, identifiez la valeur exacte de l'attribut de style incriminé ; par exemple :

"font-family: arial, helvetica, sans-serif;"

o

"display: block;"

Ensuite, décidez de la branche des sélecteurs que vous allez remplacer ; vous pouvez élargir ou restreindre votre choix en fonction de vos besoins, par exemple :

p span

o

section.article-into.clearfix p span

Enfin, dans votre fichier custom.css, utilisez le sélecteur [attribute^=value] et la déclaration !important :

p span[style^="font-family: arial"] {
  font-family: "Times New Roman", Times, serif !important;
}

Notez qu'il n'est pas nécessaire de citer toute la valeur de l'attribut de style, juste ce qu'il faut pour faire correspondre la chaîne sans ambiguïté.

6voto

user2677440 Points 51

L'utilisation de !important aura pour effet de remplacer le style de l'élément par le CSS. Modifier

color: #7D7D7D;

à

color: #7D7D7D !important;

Ça devrait le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X