Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/03/2011, 12h26   #1
Membre éclairé
 
Inscription : avril 2009
Messages : 523
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Somme (Picardie)

Informations forums :
Inscription : avril 2009
Messages : 523
Points : 305
Points : 305
Par défaut ordre de priorité des proriétés avec multi css ?

bonjour,

j'ai un problème (ou bug multi-navigateur...à voir)


voilà mes styles :

Code :
1
2
.contour{color:red;display:none;}
#truc1{font-size:10px;}
au départ, j'écris cela :
<div id="truc1" class="contour"></div>

là mon div est invisible c'est ok.
je fais ensuite cela :
Code :
document.getElementById('truc1').style.display='';
mon cadre reste invisible !! pourquoi ?

si je fais l'inverse ça marche bien (visible dans class et rendu invisible par Js)


encore plus étonnant, si j'écris cela :
Code :
<div id="truc1" class="contour" style="display:none;"></div>
et ensuite cela :
Code :
document.getElementById('truc1').style.display='';
bun là ça marche ! mon cadre redevient visible !

donc késako! ce problème ?

ya une priorité qui marche dans un sens mais pas dans l'autre !?
ça dépend de la déclaration du style en . ou en # ou en ligne dans le html ?

j'ai testé sous ie8 ff4 et chrome et opéra , tous ont le même bug/problème
Michael REMY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 14h15   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
si tu fais un :
Code :
document.getElementById('truc1').style.display='';
ton code html sera le suivant :
Code :
<div id="truc1" class="contour" style="display:;"></div>
donc ne sera pas interprété, donc le css :
Code :
1
2
.contour{color:red;display:none;}
#truc1{font-size:10px;}
sera pris en compte et donc ton cadre sera invisible.

Si tu utilises directrement le style inline :
Code :
<div id="truc1" class="contour" style="display:none;"></div>
ta div sera invisible et après action du javascript il sera visible car il n'y aura plus de display et donc cela equivaut à un display:block.

Dans tous les cas, utilise plutôt ceci :
Code :
document.getElementById('truc1').style.display='block';
pour faire apparaitre ton div et comme cela tu n'auras plus de problème entre du style inline ou provenant du fichier CSS
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web