The problem is with the location of the navigation. It renders differently in different browsers. (The site is about five years old.) It used to work the same in all major browsers. The problem that has just occurred is the “Contact” link no longer appears on the right hand side. It looks OK in FF and Safari (PC), bad on IE 11, Opera, Chrome, iPad and iPhone.
Additionally, taking a close look at any of the links with “M” in there the little swirl on the tail of the letter is missing. That was a fix so the menu would appear at all vertically on the page.
So now the most important problem is that “Contact” doesn’t appear. It would be great if both issues could be fixed.
Please send thoughts –
(c:
Here is CSS that might apply:
#top ul {
float: left;
height: 58px;
width: 760px;
/* added 2/15/14 to adjust menu */
margin-top: -29px;
/* added 6/2/14 to adjust menu
margin-left: -29px;
didn't work*/
}
This is what happens when you try to design around “pixel perfect” concept for a website. Your menu items are there and displayed, BUT you UL is set to a specific height there is OVERFLOW applied ( probably to contain the float) so when the items are to big and overflow the UL’s dimension they are simply ‘cropped off’ ( this is what you are noticing in the swirly of the M as well).
remove the height for your nag menu and the problem should solve itself.
Hi again –
something drastic happened. Please take a look.
here is the CSS I have, having taken out the height.
#top ul {
float: left;
/* commented out 6/2/14 to adjust menu result is cut off menu
height: 58px; */
width: 760px;
/* added 2/15/14 to adjust menu */
margin-top: -29px;
/* added 6/2/14 to adjust menu
margin-left: -29px;
didn't work */
}
#top ul li, #top ul li a {
list-style-type: none;
float: left;
/* commented out 6/2/14 to adjust menu result is cut off menu
height: 48px;*/
text-indent: -9999px;
}
What did I miss, mess up?
Urgent!!!
Thanks,
Cheers,
Don’t comment out the height on #top ul li, #top ul li a {}.
Because you are doing an image replacement for your text, the default height will be the height of your actual text and not that of the graphical replacement. Best practice would be to set int exclusively on the #top ul li a {} , ancestors with no height declared will automatically expand to to contain their descendants.
Honestly I would scrap what you have done and do this:
#top ul {
clear:both;
list-style-type: none;
overflow:hidden;
}
#top ul li {
float: left;
}
#top ul li a { height: 48px;
text-indent: -9999px;
}
but then two menus appeared, a text menu and the graphic one. So I changed back to before.
The “Home” link is missing.
Thoughts on how to get that back?
Thank you for your continued help.
Cheers,
It’s these unused and nested elements that are taking up space on the page and causing alignment problems. If you are not using them then said then to display:none or move them off screen with absolute positioning. Once you’ve done that they you can get rid of the margin-top:-29px on #top ul as that is a hack to overcome the space the empty items are taking up.
For a graphical menu like that to work exactly then the sum of the components must add up to the total width exactly. (i.e. all the widths of the elements add up to the available width with pixel perfection). There can be no room for empty elements that are taking up whitespace as text-indent only hides the text and doesn’t remove the element form the flow.
Hi Paul,
Thank you for your reply. This is a site (WordPress) I inherited so don’t know what the original author was thinking.
The issue now is that there is no longer the “Home” link.
I set
<li class="page_item page-item-233 current_page_item"><a href="http://www.womenofthesummit.com/">Homepage – Why We Exist</a></li>
That item shouldn’t be there as it is not in the actual menu but as you have mistakenly put the wrong class on it then by luck it allows the menu to display. The class .current_page_item sets the nested anchor to display:none and then the menu just happens to fit.
On http://www.womenofthesummit.com/members/ you have laced the current_page_item class on the correct item which means that the item before is now not hidden and therefore the menu is broken.
The answer is therefore the same as I have indicated before and you should remove the html for any non existent items. Setting nested children to display:none is no good as it needs to be the parent list item.
So to recap you have a menu width ‘x’ items in it then make sure you only have ‘x’ number of list elements.