Forum Moderators: not2easy
I need the menu to have a 30px left padding so the the menu aligns with my site's logo but when I add "padding: 0 0 0 30px", the menu extends beyond the body width on the left and right side. It may be that I am not changing the rest of the code to accommodate the initial change. Can someone help?
picture of the problem:
<snip>
Here is my code:
body {
margin-top: 20px;
padding: 0;
background: #ebebeb;
text-align: justify;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
color: #000000;
}
#header {
width: 1026px;
margin: 0 auto;
height: 152px;
background: url(images/img01.png) no-repeat left top;
}
//ADxMenu code
.menu, .menu ul {
margin: 0 auto;
padding: 0 0 0 30px; <-- this is where I made the change, it was originally "0"
width: 1026px;
border: 0;
list-style-type: none;
display: block;
}
.menu li {
margin: 0;
padding: 0;
border: 0;
display: block;
float: left;/* move all main list items into one row, by floating them */
position: relative;/* position each LI, thus creating potential IE.win overlap problem */
z-index: 5;/* thus we need to apply explicit z-index here... */
}
.menu li:hover {
z-index: 10000;/* ...and here. this makes sure active item is always above anything else in the menu */
white-space: normal;/* required to resolve IE7 :hover bug (z-index above is ignored if this is not present)
see <snip> for other stuff that work */
}
.menu li li {
float: none;/* items of the nested menus are kept on separate lines */
}
.menu ul {
visibility: hidden;/* initially hide all submenus. */
position: absolute;
z-index: 10;
left: 0;/* while hidden, always keep them at the top left corner, */
top: 0;/* to avoid scrollbars as much as possible */
}
.menu li:hover>ul {
visibility: visible;/* display submenu them on hover */
top: 100%;/* 1st level go below their parent item */
}
.menu li li:hover>ul {/* 2nd+ levels go on the right side of the parent item */
top: 0;
left: 100%;
}
/* -- float.clear --
force containment of floated LIs inside of UL */
.menu:after, .menu ul:after {
content: ".";
height: 0;
display: block;
visibility: hidden;
overflow: hidden;
clear: both;
}
.menu, .menu ul {/* IE7 float clear: */
min-height: 0;
}
/* -- float.clear.END -- */
/* -- sticky.submenu --
it should not disappear when your mouse moves a bit outside the submenu
YOU SHOULD NOT STYLE the background of the ".menu UL" or this feature may not work properly!
if you do it, make sure you 110% know what you do */
.menu ul {
background-image: url(empty.gif);/* required for sticky to work in IE6 and IE7 - due to their (different) hover bugs */
padding: 10px 30px 30px 30px;
margin: -10px 0 0 -30px;
/*background: #f00;*//* uncomment this if you want to see the "safe" area.
you can also use to adjust the safe area to your requirement */
}
.menu ul ul {
padding: 30px 30px 30px 10px;
margin: -30px 0 0 -10px;
}
[edited by: swa66 at 3:46 am (utc) on April 21, 2009]
[edit reason] No URLs please see ToS and forum charter [/edit]
The problem I am having is extra white space between words in my lists. It seems to happen when the sentence takes up more than 2 lines.
SEE PHOTO OF PROBLEM HERE: <snip>
"Certified Facility Manager" has extra white space between the words.
This happens in my #main as well. Which leads me to believe I may be missing a line of code in my body or allcontent divs.
If any one can give me some solution ideas, I would greatly appreciate it!
CODE:
body {
padding: 0;
background-color: #ebebeb;
text-align: justify;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
color: black;
}
#header {
height: 152px;
background: url(images/img01.png) no-repeat left top;
}
#allcontent {
padding-top: 0px;
width: 1026px;
padding-bottom: 10px;
background-color: #ffffff;
margin-left: auto;
margin-right: auto;
}
CODE FOR THE MENU:
.menu, .menu ul {
margin: 0 auto 0px 0;
padding-left: 10px;
height: 35px;
border: 0;
list-style-type: none;
display: block;
}
.menu li {
margin: 0;
padding: 0 0 0 0px;
border: 0;
display: block;
float: left;/* move all main list items into one row, by floating them */
position: relative;/* position each LI, thus creating potential IE.win overlap problem */
z-index: 5;/* thus we need to apply explicit z-index here... */
}
.menu li:hover {
z-index: 10000;/* ...and here. this makes sure active item is always above anything else in the menu */
white-space: normal;/* required to resolve IE7 :hover bug (z-index above is ignored if this is not present)
see [tanfa.co.uk...] for other stuff that work */
}
.menu li li {
float: none;/* items of the nested menus are kept on separate lines */
}
.menu ul {
visibility: hidden;/* initially hide all submenus. */
position: absolute;
z-index: 10;
left: 0;/* while hidden, always keep them at the top left corner, */
top: 0;/* to avoid scrollbars as much as possible */
}
.menu li:hover>ul {
visibility: visible;/* display submenu them on hover */
top: 100%;/* 1st level go below their parent item */
}
.menu li li:hover>ul {/* 2nd+ levels go on the right side of the parent item */
top: 0;
left: 100%;
}
/* -- float.clear --
force containment of floated LIs inside of UL */
.menu:after, .menu ul:after {
content: ".";
height: 0;
display: block;
visibility: hidden;
overflow: hidden;
clear: both;
}
.menu, .menu ul {/* IE7 float clear: */
min-height: 0;
}
/* -- float.clear.END -- */
/* -- sticky.submenu --
it should not disappear when your mouse moves a bit outside the submenu
YOU SHOULD NOT STYLE the background of the ".menu UL" or this feature may not work properly!
if you do it, make sure you 110% know what you do */
.menu ul {
background-image: url(empty.gif);/* required for sticky to work in IE6 and IE7 - due to their (different) hover bugs */
padding: 10px 30px 30px 30px;
margin: -10px 0 0 -30px;
/*background: #f00;*//* uncomment this if you want to see the "safe" area.
you can also use to adjust the safe area to your requirement */
}
.menu ul ul {
padding: 30px 30px 30px 10px;
margin: -30px 0 0 -10px;
}
/* -- sticky.submenu.END -- */
/* - - - ADxMenu: DESIGN styles [ OPTIONAL, design your heart out :) ] - - - */
.menu, .menu ul li {
color: #000000;
background: #fff;
}
.menu ul {
width: 11em;
}
.menu a {
text-decoration: none;
color: #000000;
padding: .4em 1em;
display: block;
position: relative;
}
.menu a:hover, .menu li:hover>a {
color: #003366;
}
.menu li li {/* create borders around each item */
border: 1px solid #ccc;
}
.menu ul>li + li {/* and remove the top border on all but first item in the list */
border-top: 0;
}
.menu li li:hover>ul {/* inset 2nd+ submenus, to show off overlapping */
top: 5px;
left: 90%;
}
[edited by: swa66 at 11:36 pm (utc) on April 29, 2009]
[edit reason] No personal URLs pleas esee ToS and forum charter [/edit]