I try to make a horizontal menu bar with a table in HTML using CSS to design it. But the padding doesn’t work the way I think it should: when I’m trying to change the background color of the whole li when the user "hovers it" with the mouse. But the padding seems to get wrong.
Here’s my code in CSS (using Sassy CSS):
/* just to be sure the default of browser doesn't change look */
* {
margin:0;
padding:0;
}
/* some other design code ... */
#nav-menu {
padding:5px;
text-align:center;
/* change background: browser specific gradient */
background:$menu-bgcolor;
li {
list-style:none;
display:inline;
padding:2px 10px 2px 10px;
:hover {
background-color:$deco-dark;
color:$deco-verylight;
}
}
}
But the result looks something like the following:

As you can see the changed background color, which is $deco-dark in this case, doesn’t affect the whole li area (the area with gradient), as i would expect. What can I do to change this behavior?
With SASS, the following:
will apply styles to any
:hoverelements inside theli. What you need iswhich will apply the style to the
lielement itself when it’s hovered. Right now, the style is likely being applied only to theainside theli.