Hi MK, All the problems you describe are occurring on the client (browser) side. The browser is solely responsible for intrepreting HTML & CSS. Therefore, there is undoubtedly some difference between the HTML or CSS that the browser is receiving from rails versus mason. If I had to take a wild guess I'd say that Mason is inserting extra whitespace, as it is fond of doing sometimes.
I'd recommend that you fetch your page and your css into text files, using a tool like wget or lwp-request, from both rails and mason, then diff them to see the difference. Jon On Jun 9, 2009, at 12:30 PM, MK wrote: > NB this message contains html that is not intended to be formatted! > > Some background: About a month ago, I started learning ruby on rails, > thru which I learnt about MVC frameworks, etc. Figuring I should > explore my options, and following a little inner voice that said > "Wouldn't you like to do this in perl?" I'm now learning Mason (but > not, at this point, catalyst). All is good and I am happy EXCEPT: > > For my first exercise, I figured I would take a simple RonR app I did > and rewrite it using Mason. I've hit what seems to me a strange > glitch > involving CSS. First, the *minor* symptoms: I have a div which is a > horizontal menu bar, the original code looked like this: > > <center><h3 class="menu"> > <span onclick="[some ruby js helper]"> > Main Menu</span> | > <span onclick="[another ruby js helper]> > Search List</span></h3> > </center></div> > > So the menu bar = " Main Menu | Search List ". Class "menu" here > has a > ":hover" defined to highlight, and using the code above, span sufficed > as a separator. When I moved this into the mason version, however, > hovering over *either* span highlit both of them (as did adding the > css > class to the individual span), so I had to change this to: > > <div class="menubar" id="mmdiv"> > <h3><span id="mmspan" onmouseover="$('mmspan').style.color='#ff0066'" > onmouseout="$('mmspan').style.color='#ffffff'" onclick="mainmenu(<& > mmenu1.comp &>)">Main Menu</span> > | <span id="slspan" onmouseover="$('slspan').style.color='#ff0066'" > onmouseout="$('slspan').style.color='#ffffff'" onclick="mainmenu > ([unfinished])">Search List</span> > </h3></div> > > Which is irritating and mysterious, but I can live with it. > > Another potential symptom is that .class:hover attributes were ignored > unless they were part of a tag type: > > .mini { font-size: small; color: #bbbbbb; margin: 10px 10px 10px > 10px; } > p.mini:hover { color: #ffff00; } > > If I use ".mini:hover" instead of "p.mini:hover", this style is > ignored. Meaning I will have to repeat this for every tag type! > > But the *MAJOR* symptom seems to be this: mmenu1.comp (from above) > looks like this > > <p>Add Subject</p> > > mainmenu() calls a dropdown menu, and the parameter is the innerHTML > for that menu. As is, this works fine. However, if I change > mmenu1.comp slightly: > > <p class="whatever">Add Subject</p> > > A *very* *very* strange thing happens: the contents of mmenu1.comp > replace the div containing the menu bar (a *different* div) *before* > any "onclick" has occurred, so on load the menubar looks like this: > > Add Subject > > instead of "Main Menu | Search List" > > I am so flabbergasted by this I have at least half a dozen times > reloaded the page making *only* the above change to mmenu1.comp, and > this difference is the same everytime. *How is it even possible* that > the contents of a parameter to a js function in an onclick > > <span id="mmspan" onclick="mainmenu(<& mmenu1.comp &>)">Main Menu</ > span> > > would replace the entire div containing the span when the page is > loaded, just because I added > > class="somestyle" > > to mmenu1.comp???????????? > > Thanks in advance, MK > > > > > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > Mason-users mailing list > Mason-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mason-users ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Mason-users mailing list Mason-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mason-users