Suivez les fils RSS
 
Auteur
selinav2
# 02 Jul 2009 - 14:26:46
Citer
16 Posts
Bonjour,

Je suis actuellement en train de réaliser un template pour drupal.
Il me génère un code bizarre pour le menu

<ul id="simplemenu" class="menu clear-block superfish">
Pourquoi il y a t-il 3 noms dans la classe? Fait-il appel à 3 classes.

Dans ce menu, il y a des sous rubriques que j'aimerais stylé différemment de mon menu principal.

Dans ma CSS, j'ai mis

#simplemenu li a:hover{
background:url(../../../../themes/tmc/css/images/degrade_bouton_actif.gif) repeat-x;
}

#simplemenu lu ul li a:hover{
background-color:#c8eafe;
background-image:none;
}


Pourriez-vous me dire comment faire pour que mon

ul>li>ul>li soit différent de ul>li

car je ne comprends pas pourquoi le ul>li>ul>li hérite de ul>li alors que j'ai précisé un autre style pour ul>li>ul>li ?

or il m'affiche le même arrière-plan (degrade_bouton_actif.gif) quelque soit le niveau.

Ci-dessous mon code html que je ne peux pas modifier car il est généré par un javascript incompréhensible pour moi.

<div id="menu">
<ul id="simplemenu" class="menu clear-block superfish">
<li class="expanded first mat-riel_couture_industrielle root">
<a href="/tmc/taxonomy/term/60%2067%2068%2070%2069">Matériel couture industrielle</a>
<ul style="display: none; visibility: hidden;" class="menu">
<li class="leaf first couture_vestimentaire"><a href="/tmc/taxonomy/term/67">Couture vestimentaire</a></li>
<li class="leaf couture_lourde"><a href="/tmc/taxonomy/term/68">Couture lourde</a></li>
<li class="leaf echantillon"><a href="/tmc/taxonomy/term/70">Echantillon</a></li>
<li class="leaf last teinture_ennoblissement"><a href="/tmc/taxonomy/term/69">Teinture ennoblissement</a></li>
</ul>
</li>

<li class="expanded accessoires_-_pi-ces_d-tach-es root">
<a href="/tmc/taxonomy/term/61%2071%2072">Accessoires / Pièces détachées</a>
<ul style="display: none; visibility: hidden;" class="menu">
<li class="leaf first accessoires"><a href="/tmc/taxonomy/term/71">Accessoires</a></li>
<li class="leaf last ciseaux"><a href="/tmc/taxonomy/term/72">Ciseaux</a></li>
</ul>
</li>

<li class="expanded machines_familiales root">
<a href="/tmc/taxonomy/term/62%2074%2076%2073%2075">Machines familiales</a>
<ul style="display: none; visibility: hidden;" class="menu">
<li class="leaf first piqueuse"><a href="/tmc/taxonomy/term/74">Piqueuse</a></li>
<li class="leaf repassage"><a href="/tmc/taxonomy/term/76">Repassage</a></li>
<li class="leaf surjeteuse"><a href="/tmc/taxonomy/term/73">Surjeteuse</a></li>
<li class="leaf last brodeuse"><a href="/tmc/taxonomy/term/75">Brodeuse</a></li>
</ul>
</li>

<li class="expanded fournitures root">
<a href="/tmc/taxonomy/term/63%2077%2078">Fournitures</a>
<ul style="display: none; visibility: hidden;" class="menu">
<li class="leaf first ecoles"><a href="/tmc/taxonomy/term/77">Ecoles</a></li>
<li class="leaf last sellier_-_tapissier_-_garnisseur"><a href="/tmc/taxonomy/term/78">Sellier - Tapissier - Garnisseur</a></li>
</ul>
</li>

<li class="leaf r-vision_-_r-paration"><a href="/tmc/taxonomy/term/64">Révision / Réparation</a></li>

<li class="leaf formation"><a href="/tmc/taxonomy/term/65">Formation</a></li>
<li class="leaf last contact"><a href="/tmc/taxonomy/term/66">Contact</a></li>

</ul>
</div>


Merci de votre aide

Cordialement
Modifié par selinav2 (02 Jul 2009 - 14:27)

^
Laurie-Anne
# 02 Jul 2009 - 14:32:48
Citer
Modérateur
5736 Posts
Bonjour,

Pour répondre à ta premier question, oui, il est possible de donner plusieurs classes à un élément, et même de faire des combos.

Pour la seconde, essaye de remplacer
#simplemenu lu ul li a:hover{
par
#simplemenu li ul li a:hover{
.

http://laurie-anne.bourdain.name 
^
selinav2
# 02 Jul 2009 - 15:13:04
Citer
16 Posts
Merci pour ta réponse,

Tu as l'oeil, j'ai bien mis un li, mais dans mon message il s'agit d'une faute de frappe.

Quelle est la syntaxe pour dire je veux que cet ul contenant les 3 classes ai des propriété css qui ne s'applique qu'à celui ci et non pas à son enfant ul class="menu"?


<ul id="simplemenu" class="menu clear-block superfish">
<li>
<ul class="menu">
<li>mon li</li>
<li>mon li2</li>
</ul>
</li>
</ul>



Merci

^
loicbcn
# 02 Jul 2009 - 17:50:49
Citer
174 Posts
En définissant les ul enfants différemments.
J'espère na pas avoir mal li la question. confused
Modifié par loicbcn (02 Jul 2009 - 17:51)

C'est en forgeant qu'on se blesse.

http://loic.donot.free.fr 
^
selinav2
# 02 Jul 2009 - 18:11:47
Citer
16 Posts
mon menu est généré à partir d'un javascript, je ne sais pas où intervenir, si quelqu'un s'y connait. biggol car pour moi c'est du chinois.


// $Id: simplemenu.js,v 1.9.2.12.2.3 2008/12/06 18:04:45 rz Exp $

$(document).ready(function() {
// If detect pop-ups setting is enabled and we are in a pop-up window
if (Drupal.settings.simplemenu.detectPopup && window.opener) {
return;
}

// get the element to add the menu to
var element = Drupal.settings.simplemenu.element;
var menu = $(simplemenu).attr("id", "simplemenu").addClass('clear-block');

switch (Drupal.settings.simplemenu.placement) {
case 'prepend':
$(menu).prependTo(element);
break;
case 'append':
$(menu).appendTo(element);
break;
case 'replace':
$(element).html(menu);
break;
}

$('body').addClass('simplemenu-enabled');

var animation = {};
animation[Drupal.settings.simplemenu.effect] = 'toggle';

// Build menu
$(menu)
.superfish( {
animation: animation,
delay: Drupal.settings.simplemenu.hideDelay,
speed: Drupal.settings.simplemenu.effectSpeed
} )
.find(">li:has(ul)")
.mouseover(function(){
$("ul", this).bgIframe({opacity:false});
})
.find("a")
.focus(function(){
$("ul", $(".nav>li:has(ul)")).bgIframe({opacity:false});
})
.end()
.end()
.find("a")
.removeAttr('title');

$('#simplemenu').children('li.expanded').addClass('root');
});


/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* $LastChangedDate: 2007-07-21 18:45:56 -0500 (Sat, 21 Jul 2007) $
* $Rev: 2447 $
*
* Version 2.1.1
*/
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};})(jQuery);


^