28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je travailles sur un projet existant. Dans une partie du code, quelqu'un a re-definis "tr:hover td" comme suit :


tr:hover td
      {
           background:#f0f0ff;
           color:#339;
      }



Ce qui me poses beaucoup de problemes pour la suite et je ne peux modifier le code existant.

Redefinir "tr:hover td" avec une autre couleur ou transparent ne m'aides pas, car les cellules TDs on des backgrounds differents...

Comment je peux enlever ce style de la DOM?

Je sais comment enlever un classe en javascript ou Jquery, mais ce n'est pas une classe...

Quelqu'un peux m'aider?

Merci...
Tout d'abord je dois te mettre en garde que hover en dehors des balise a n'est pas crossbrowser à moins d'avoir un patch de behaviour style whatever:hover...

Je n'ai pas trouvé comment accéder a une pseudo class en javascript sasn passer par les styles sheets et cssrules etc ...

Sinon ton css est externe ?
si c'est le cas fais en un autre externe aussi sans le hover et bascule de l'un a lautre
SpaceFrog a écrit :
Tout d'abord je dois te mettre en garde que hover en dehors des balise a n'est pas crossbrowser à moins d'avoir un patch de behaviour style whatever:hover...
Il n'y a qu'IE6 d'impacté, et si l'effet est purement décoratif, ça ne pose aucun problème.
IE6 = encore 10% des internautes ...
ce n'est pas négligeable !
je ne passe pas sur un tel pourcentage, même pour du décoratif ! un site crossbrowser l'est pour moi dans toutes ses fonctionnalités (sauf js désactivé Smiley bawling )
Modifié par SpaceFrog (19 Jan 2010 - 15:25)
crossbrowser, c'est un bien joli mot... Mais interopérable c'est plus français (et en plus c'est plus accessible dans l'optiques où nous sommes sur un forum dont la langue est le français).

Vouloir mainteninr une interopérabilité maximale c'est bien, mais pafois il faut savoir faire des consessions (et les éléments purement décoratifs, c'est pas gênant s'ils sont absent ; et je parle en connaissance de cause).

Accessoirement, là n'est pas vraiment le sujet.
Modifié par Laurie-Anne (19 Jan 2010 - 15:35)
cette "interopérabilité" Smiley biggol (compatibilité est plus compréhensible) est accessible à qui veut bien s'en donner la peine ! IE implémente les behaviour et il suffit de trouver des "patchs" (pansements ???) sous forme de petite librairies
SpaceFrog a écrit :
cette "interopérabilité" Smiley biggol (compatibilité est plus compréhensible) est accessible à qui veut bien s'en donner la peine ! IE implémente les behaviour et il suffit de trouver des "patchs" (pansements ???) sous forme de petite librairies

Mouais.
Après le goût et les couleurs...

En ce qui me concerne, je développe en supportant IE6 parce que dans la plupart des cas mes clients en ont besoin ou me le demandent. Mais je préfère opter pour la dégradation élégante plutôt que d'ajouter une ou plusieurs librairies qui vont plomber le temps de chargement.

De toute manière, il faut être réaliste : la compatibilité n'est jamais parfaite. Nous (autres webmasters) sommes bien les seuls à tester un site sous 3 système d'exploitation avec 6 ou 7 navigateurs différents et à comparer les différences de rendu. Smiley cligne

L'internaute veut un site qui soit fonctionnel, ergonomique et beau de préférence.
Je doute que la différence de rendu d'un bouton (par exemple) le perturbe plus que ça... Smiley smile
plomber le temps de chargement ??? 9.7Ko tout mouillé avec des commentaires donc en les supprimant c'est encore moins lourd.
Et ce juste pour le premier chargement car il suffit de gérer la mise en cache correctement ...
faut vraiment avoir remplacé son modem par des pigeons voyageurs pour etre incommodé par un tel volume supplémentaire ... Smiley lol
T'as déjà navigué avec un téléphone qui ne dispose que du réseau EDGE ?

Tu es sûr que ton visiteur dispose d'une ligne ADSL ? (le monde c'est grand, l'ADSL n'est pas disponible partout)

Tu es sûr que ton visiteur n'as pas de problème sur sa ligne ?



ps. : Deuxième fois que je le dis : ce n'est pas le sujet.
Merci a tous pour vos reponses, mais je voulais seulement savoir si c'etait possible de redefinir "tr:hover td" Smiley decu
Oui désolé on s'éloigne du propos ...
Je dirais non, pas directement dynamiquement avec javascript, il faudrait tester si un eventuel onmouseover / onmouseout aurait la priorité sur la pseudo-classe hover ou éventuellement

<style type="text/css">
div:hover {color:red;}

#foo:hover {color:green;}
</style>

<script type="text/javascript">
function bar(){
 document.getElementById('foo').omouseover=function(){this.style.color='blue';}
 document.getElementById('foo').omouseout=function(){this.style.color='black';}
 }
</script>
</head>

<body>
<div id="foo">mlkjez mlka mlj </div>
<input type="button" onclick="bar()" value="change hover" />
</body>


le code ci dessus semble montrer que le rollon n'a pas la priorié sur le hover, mais que le dernier css prime (ici sur l'id un hover vert)