Dear DNN-guys
First, I've examinated Version 1.6.1.0 of the solpartmenu.
(If I do it not good, give me a answer...)
Let us have a look at the rootmenu.
A RootMenuItem is a table with one row and two colums (only things that give the layout...)
Horizontal menu
<td>
<table width="100%" CELLPADDING="0" CELLSPACING="0" border="0">
<tr class="spmbar spmitm MenuBar cssMenuItem MenuItemCSS savecss="MenuItemCSS" saveselcss="MenuItemSelCSS" style="MenuItemStyle">
<td NOWRAP="NOWRAP" TITLE="">MenuItemImage MenuItemLeftHTML-OR- MenuItemName MenuItemRightHTML</td>
<td align="right" class="spmrarw cssMenuRootArrow">RootArrowImage-AND- </td>
</tr>
</table>
</td>
Vertical menu
<tr>
<td>
<table width="100%" CELLPADDING="0" CELLSPACING="0" border="0">
<tr class="spmbar spmitm MenuBar cssMenuItem MenuItemCSS savecss="MenuItemCSS" saveselcss="MenuItemSelCSS" style="MenuItemStyle">
<td NOWRAP="NOWRAP" TITLE="">MenuItemImage MenuItemLeftHTML-OR- MenuItemName MenuItemRightHTML</td>
<td align="right" class="spmrarw cssMenuRootArrow">RootArrowImage-AND- </td>
</tr>
</table>
</td>
</tr>
What do we see?...
1 ::
As you will set a special class in the td of this table than you must use:
classname td {}
or
classname td img{}
or
classname img.
2 ::
Solpart have a MenuItemImage then solpart return
<img src="MenuItemImage.gif">
Solpart have not a MenuItemImage then solpart return
'spacer.gif'
3 ::
Solpart have a leftHtml then solpart return
LeftHtml
Solpart have not a leftHtml then solpart return
' '
4 ::
The name of the MenuItem
I've not yet found it, but it seems that there is always a return before the MenuItemName and a return after the MenuItemName.
That means that there is always a gap within the td-tag. And this renders different in IE and in FF.
5 ::
Solpart have a rightHtml then solpart return
RightHtml
Solpart have not a rightHtml then solpart return
'' [nothing]
6 ::
Solpart have a RootMenuArrowImage then solpart return
RootArrowImage and a ' ' after it
Solpart have not a RootArrowImage then solpart return
' '
Here you have an example of a selected RootmenuItem as it was rendered in FF (extraced with FireFox View Formated Source plugin) (only things that give the layout).
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr saveselcss="RtMnItHo" savecss="RtMnItAc" class="spmbar spmitm MnBar RtAndSuMnItNo RtMnItAc">
<td nowrap="NOWRAP" title="Design">
<img src="spacer.gif"> [No MenuItemImage]
<img class="RtMnItLeHtml" src="RtMnItLeHtml.gif" alt="rootmenuitemlefthtml">
<img class="RtMnItBrArrw" border="0" src="RtMnItBrArrw.gif" alt="*">
Design
<img class="RtMnItRiHtml" src="RtMnItRiHtml.gif" alt="rootmenuitemrighthtml">
</td>
<td align="right" class="spmrarw RtMnArrw">
<img alt=">" src="ArrwDown.gif">[Here is for sure a ]
</td>
</tr>
</tbody>
</table>
</td>
When you see this then I'm sure that there is a gap (return) before the MenuItemName and a gap (return) after the MenuItemName. I think that IE and FF are rendering this not the same.
Look also at the RtMnItLeHtml and the RtMnItRiHtml
You can become that this way, if you use a image then you must put the class of the image in the token and also give a correct path:
<![CDATA[<img alt="rootmenuitemlefthtml" class="RtMnItLeHtml" src="/Portals/_default/Skins/StaSkin0101/RtMnItLeHtml.gif">]]>
<![CDATA[<img alt="rootmenuitemrighthtml" class="RtMnItRiHtml" src="/Portals/_default/Skins/StaSkin0101/RtMnItRiHtml.gif">]]>
Remark
You've also seen that NOWRAP="NOWRAP" is perhaps necessary for older browsers. I don't know... I've replaced it with style="white-space:nowrap;"
Perhaps... tomorrow I gone look at the menubreak (when I've the time)....
Hope this will help you...
Is it so?...