CSS:UL导航-悬停,背景色错误
悬停时,背景色似乎位于作为导航项的“框”之外。我试过调整一切。这是我的CSS和HTMLCSS:UL导航-悬停,背景色错误,css,html-lists,navigationbar,Css,Html Lists,Navigationbar,悬停时,背景色似乎位于作为导航项的“框”之外。我试过调整一切。这是我的CSS和HTML <div id="menuTop"> <ul id="menuOne" class="menuHoriz"> <li><a href="index.html">home</a></li> <li><a href="communication.html">about us</a><
<div id="menuTop">
<ul id="menuOne" class="menuHoriz">
<li><a href="index.html">home</a></li>
<li><a href="communication.html">about us</a></li>
<li><a href="about.html">services</a></li>
<li><a href="help.html">samples</a></li>
<li><a href="contact.html">contact</a></li>
</ul>
</div>
#menuTop {
clear: both;
padding-top: 18px;
height: 55px;
font-size: 12pt;
background-color: #000;
}
#menuTop ul, #menuTop li {
margin: 0;
padding: 4px 0 0 0;
}
#menuTop ul {
list-style-type: none;
}
#menuTop li {
display: block;
background-color: #3C87D1;
text-align: center;
width: 197px;
height: 30px;
margin: 0 0px 0 0;
padding: 4px 0 0 0;
border: 1px solid #2A5E92;
}
#menuTop a {
display: block;
margin: 0;
padding: 4px 0 0 0;
}
#menuTop a:link, #menuTop a:visited {
width: 197px;
height: 30px;
padding: 4px 0 0 0;
margin: 0;
font-family: 'Trebuchet MS', Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
#menuTop a:hover {
width: 197px;
height: 30px;
padding: 4px 0 0 0;
margin: 0;
color: #fff;
background-color: #5F9FFF;
}
ul.menuHoriz li {
float: left;
}
#梅努托普{
明确:两者皆有;
填充顶部:18px;
高度:55px;
字号:12号;
背景色:#000;
}
#menuTop ul,#menuTop li{
保证金:0;
填充:4px0;
}
#梅努托普{
列表样式类型:无;
}
#李梅努托普{
显示:块;
背景色:#3C87D1;
文本对齐:居中;
宽度:197px;
高度:30px;
边际:0像素0;
填充:4px0;
边框:1px实心#2A5E92;
}
#menuTop a{
显示:块;
保证金:0;
填充:4px0;
}
#菜单组a:链接,#菜单组a:已访问{
宽度:197px;
高度:30px;
填充:4px0;
保证金:0;
字体系列:“投石机MS”,Helvetica,无衬线;
颜色:#fff;
文字装饰:无;
}
#菜单提示a:悬停{
宽度:197px;
高度:30px;
填充:4px0;
保证金:0;
颜色:#fff;
背景色:#5F9FFF;
}
李梅努霍里兹{
浮动:左;
}
如果您的问题只是盒子外面的颜色,请将此添加到您的#menuTop li
overflow:hidden;
为我工作。:) 我从样式表中删除了不必要的/双重的定义,并修复了这个bug
* {
margin: 0;
padding: 0
}
#menuTop {
font: 12pt 'Trebuchet MS', Helvetica, sans-serif;
padding-top: 18px;
height: 55px;
background: #000
}
#menuTop ul {
padding-top: 4px;
list-style: none
}
#menuTop li {
background: #3C87D1;
border: 1px solid #2A5E92;
text-align: center
}
#menuTop a {
display: block;
width: 197px;
line-height: 30px
}
#menuTop a:link, #menuTop a:visited {
color: #fff;
text-decoration: none
}
#menuTop a:hover {
background-color: #5F9FFF
}
ul.menuHoriz li {
float: left
}
以下是一些注意事项:
- 在设计布局之前,使用
将所有元素的边距和填充设置为零非常方便*
- 仅将菜单项的宽度和高度设置为
元素(嵌套最多的元素)。周围的a
元素将采用相同的大小。也可以使用li
而不是行高
,因为它会自动使文本垂直居中高度
- 不要在
、:link
、:visted
或:hover
中重新定义样式(例如尺寸和字体)。它为浏览器提供了不必要的计算:active
这比我提议的要容易得多。这里有一个演示:谢谢大家。。这对我有用:)太好了!谢谢你的指点。迈达斯,你能告诉我如何添加,现在把容器从顶部往下推吗?它现在被推到顶部,我尝试向容器中添加填充物以将其向下移动大约10px,结果只是将标题与边框分开。什么是“将标题与边框分开”?边框似乎被推到顶部。当我尝试将填充添加到容器顶部时,边框看起来仍然被推到顶部,但我的标题被向下推,留下了可以看到主体背景图像的空间。基本上,所有的填充似乎不再到位,我不知道如何修复,任何帮助都将不胜感激!我想我明白了——我在menutop和menutopul中添加了“0”填充元素,并从CSS的顶部删除了0。非常感谢。
#menuTop {
clear: both;
padding-top: 18px;
height: 55px;
font-size: 12pt;
background-color: #000;
text-align: center;
font-family: 'Trebuchet MS', Helvetica, sans-serif;
line-height: 34px;
}
#menuTop a {
float: left;
border: 1px solid #2A5E92;
background-color: #3C87D1;
width: 197px;
color: #fff;
text-decoration: none;
}
#menuTop a:hover {
background-color: #5F9FFF;
}