Titre du sujet : Re: [TEST] multiMenu 1.8 beta, quand multiMenu devient dynamique par blueteen sur 27/01/2006 09:55:05
maudit IE... je ne connaissais pas trop le css, mais là je découvre les micmac à faire pour obtenir un même résultat sur la plupart des navigateurs ! et c'est pas triste...
dans notre cas, en me basant sur le thème par défaut de xoops 2.0.13.2, voici ce que donnent les menus déroulants utilisés simultanément à gauche et à droite sur une page.
http://myxoops.romanais.info multimenu/multimenu
il me reste encore un truc à régler pour la flèche verte, sous firefox : dans les menus de droite, on ne la voit pas, suivant la longeur du titre. il faudrait augmenter le padding pour cela. alors je ne sais pas quoi faire. augmenter le padding pour tous les menus de droite ? mais je dois voir ce que ça donne avec des liens très longs.
attention aussi, avec les autres thèmes disponibles sur le site, on voit que la mise en page a encore des lacunes. il faut revoir le placement des liens déroulés.
mais c'est un bon début, et je languis de mettre en place cette version de menu dynamique sur mon site ! quitte à adapter un peu les valeurs dans le css pour que tout soit en place.
voici les modifications effectuées pour le moment, pour le multimenu_dyn_02.html
Avant :
#dropmenudiv<{$block.mm}> {
position:absolute;
margin-left:<{$block.block_size+3}>px;
*> margin-left:18px;
margin-top:-26px;
border: 1px solid black;
border-bottom-width: 0;
}
Après :
#dropmenudiv<{$block.mm}> {
position:absolute;
margin-left:<{if $block.block_size >= 0}><{$block.block_size+3}><{else}><{$block.block_size+60}><{/if}>px;
_margin-left:<{if $block.block_size >= 0}><{$block.block_size+3}><{else}><{$block.block_size+30}><{/if}>px;
html>body margin-left:18px;
<{if $block.block_size >= 0}>*> margin-left:18px;<{/if}>px;
margin-top:-23px;
border: 1px solid black;
border-bottom-width: 0;
}
Une modification au code javascript a été nécessaire aussi pour les menus de droite.
A faire pour tous les fichiers .js du dossier modules/multimenu/script/02/
Avant :
function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}
Après :
function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth>=0){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (menuwidth<0){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=-0.8*menuwidth
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}
|