[Résolu] Conflit de class en css

Conflit de class en css [Résolu] - HTML/CSS - Programmation

Marsh Posté le 12-07-2011 à 21:05:02    

Bonjour à tous,
J'ai un problème avec les classes en CSS. J'aimerais que le menus qui s'affiche ne soit pas souligné contrairement à ce qu'affiche ce code source. Avez vous une solution ?

<style type="text/css">
a.dock
{
 text-decoration:underline;
}
/* Menu contextuel */
a.systememenu{
 position:relative;
 z-index:1;
 font-weight:bold;
 color : #FFCC00;
}
a.systememenu span.menucache{
 display: none;
 text-decoration:none;
}
a.systememenu span.menuvisible{
 display: block;
 position:absolute;
 top:2em; left:2em; width:10em;
 border:1px solid #000;
 background-color:#FFF;
 text-align: center;
 font-weight:none;
 padding:5px;
 color: black;
 z-index:2;
 text-decoration:none;
}
</style>
<script>
var Timeout;
function menu(id){
 if (document.getElementById(id).getAttribute("class" ) == "menucache" ){
  document.getElementById(id).setAttribute("class","menuvisible" );
  Timeout = setTimeout("menu('" + id +"')", 1500);
 }
 else{
  document.getElementById(id).setAttribute("class","menucache" );
  clearTimeout(Timeout);
 }
 return false;
}
</script>
</html>
<body>
<a href="#" class="systememenu dock " oncontextmenu="return menu('test')">Texte 1<span id="test" class="menucache">Texte 2</span></a>
</body>
</html>


solution

<style type="text/css">

 

/* Menu contextuel */
span.dock
{
 text-decoration:underline;
}
a.systememenu{
 position:relative;
 z-index:1;
 font-weight:bold;
 color : #FFCC00;
        text-decoration:none;
}
a.systememenu span.menucache{
 display: none;
 text-decoration:none;
}
a.systememenu span.menuvisible{
 display: block;
 position:absolute;
 top:2em; left:2em; width:10em;
 border:1px solid #000;
 background-color:#FFF;
 text-align: center;
 font-weight:none;
 padding:5px;
 color: black;
 z-index:2;
 text-decoration:none;
}

 

</style>
<script>
var Timeout;
function menu(id){
 if (document.getElementById(id).getAttribute("class" ) == "menucache" ){
  document.getElementById(id).setAttribute("class","menuvisible" );
  Timeout = setTimeout("menu('" + id +"')", 1500);
 }
 else{
  document.getElementById(id).setAttribute("class","menucache" );
  clearTimeout(Timeout);
 }
 return false;
}
</script>
</html>
<body>
<a href="#" class="systememenu" oncontextmenu="return menu('test')"><span class="dock">Texte 1</span><span id="test" class="menucache">Texte 2</span></a>
</body>
</html>


Message édité par teepodavignon le 13-07-2011 à 11:48:32

---------------
Laurent est mon fils.
Reply

Marsh Posté le 12-07-2011 à 21:05:02   

Reply

Marsh Posté le 13-07-2011 à 08:14:08    

Ton text-decoration: none, il faut le mettre sur a.systemmenu


Message édité par Dj YeLL le 13-07-2011 à 08:14:28

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 13-07-2011 à 10:07:54    

J'ai essayé ton code mais il supprime aussi l'underline pour le Texte 1 et quand j'inverse a.dock et a.systememenu c'est encore une fois les deux qui sont soulignés. :(
 

<style type="text/css">
a.dock
{
 text-decoration:underline;
}
/* Menu contextuel */
a.systememenu {
 position:relative;
 z-index:1;
 font-weight:bold;
 color : #FFCC00;
 text-decoration:none;
}
 
a.systememenu span.menucache{
 display: none;
 text-decoration:none;
}
a.systememenu span.menuvisible{
 display: block;
 position:absolute;
 top:2em; left:2em; width:10em;
 border:1px solid #000;
 background-color:#FFF;
 text-align: center;
 font-weight:none;
 padding:5px;
 color: black;
 z-index:2;
 text-decoration:none;
}
</style>
<script>
var Timeout;
function menu(id){
 if (document.getElementById(id).getAttribute("class" ) == "menucache" ){
  document.getElementById(id).setAttribute("class","menuvisible" );
  Timeout = setTimeout("menu('" + id +"')", 1500);
 }
 else{
  document.getElementById(id).setAttribute("class","menucache" );
  clearTimeout(Timeout);
 }
 return false;
}
</script>
</html>
<body>
<a href="#" class="systememenu dock " oncontextmenu="return menu('test')">Texte 1<span id="test" class="menucache">Texte 2</span></a>
</body>
</html>


---------------
Laurent est mon fils.
Reply

Marsh Posté le 13-07-2011 à 10:09:05    

En fait je ne comprends pas quel rendu tu veux ?
 
Qu'est-ce qui doit être souligné, et qu'est-ce qui ne doit pas l'être ?


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 13-07-2011 à 10:15:54    

Texte 1 doit être souligné mais pas Texte 2. Mon problème se situe au niveau de Texte 2 qui garde le soulignage de a.dock Je ne veux pas que le contenu du span soit souligné, mais je suis obligé de le placer dans le <a> pour pouvoir positionner le menu à coté du lien.
Donc soit je trouve une solution pour virer ce soulignage, soit je trouve une solution pour sortir le span du a.


Message édité par teepodavignon le 13-07-2011 à 10:18:29

---------------
Laurent est mon fils.
Reply

Marsh Posté le 13-07-2011 à 11:00:54    

Span ton texte1, et tu appliques le souligné à cet endroit là


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 13-07-2011 à 11:44:44    

J'avais testé l'ajout d'autre span, mais pas de ce coté là :D
Merci tu as résolu mon problème.


Message édité par teepodavignon le 13-07-2011 à 11:48:48

---------------
Laurent est mon fils.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed