我在一个网站上工作,我想有一个导航栏,是设置在右下角的DIV。但是,每次我将鼠标悬停在按钮上时,就会出现一个奇怪的故障,将悬停的按钮放到非常正确的位置。我似乎找不到解决这个问题的方法(无论我做什么都需要对IE友好)。
已在Chrome、FF和Safari中测试。尽管如此。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style>
#head {
width: 80%;
height: 80px;
position:relative;
margin-left:auto;
margin-right:auto;
background: #56A0D3;
background-image:url(/image/bubblesTall.gif);
z-index: 5000;
padding-top:5px;
color: #FFFFFF;
}
.menu {
float:right;
width:80%;
position:absolute;
bottom:0px;
right:0px;
margin-right:0px;
text-decoration:none;
height:auto;
}
.menu li {
float:right;
text-decoration:none;
list-style-type:none;
}
#nav a:hover,
#nav a:focus {
color:#ffffff;
background:#009999;
text-decoration:none;
font-size: 14px;
right: 0px;
bottom: 0px;
position: absolute;
}
.menu a {
float: left;
display:block;
text-align:center;
color: #5ccccc;
background: #006363;
font-size: 12px;
font-weight:200;
text-decoration:none;
font-size: 14px;
position:relative;
padding-left:5px;
padding-right:5px;
}
</style>
</head>
<body>
<div id="head">logo
<div class='menu'>
<ul id="nav">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About Us</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="programs.html">Programs</a></li>
<li><a href="prospective.html">Prospective Clients</a></li>
<li><a href="contact.html">Contact Us</a></li>
</ul>
</div>
</div>
</body>
</html>
发布于 2011-02-24 08:59:58
看起来你的CSS才是问题所在。这似乎有点矛盾。
尝试以下操作:
HTML
<div id="head">logo
<div class='menu'>
<ul id="nav">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About Us</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="programs.html">Programs</a></li>
<li><a href="prospective.html">Prospective Clients</a></li>
<li><a href="contact.html">Contact Us</a></li>
</ul>
</div>
</div>
CSS
#head {
width: 80%;
height: 80px;
position:relative;
margin-left:auto;
margin-right:auto;
background: #56A0D3;
background-image:url(/image/bubblesTall.gif);
padding-top:5px;
color: #FFFFFF;
}
.menu {
float:right;
position:absolute;
bottom:0px;
right:0px;
text-decoration:none;
height:auto;
}
ul#nav li{
float:left;
}
ul#nav li a,
ul#nav li a:visited{
color:#ffffff;
background:#009999;
text-decoration:none;
display:block;
padding:5px;
}
ul#nav li a:hover,
ul#nav li a:active{
color:#ffffff;
background:#ff0000;
text-decoration:none;
}
下面是一个有效的示例:http://jsfiddle.net/YmeKa/1/
发布于 2011-02-24 08:46:24
正如你可以猜到的,当你悬停的时候,这是一个问题,所以它在: hover规则中:
#nav a:hover,
#nav a:focus {
color:#ffffff;
background:#009999;
text-decoration:none;
font-size: 14px;
right: 0px;
bottom: 0px;
position: absolute;
}
如您所见,链接(a标记)被设置为right: 0。你要把它一直移到最右边。
我不确定你到底想在这里做什么,但我不认为你想让链接突然绝对定位。如果你的目标是制作一个浮动窗口,那么你绝对想要定位的是浮动窗口,而不是链接。
https://stackoverflow.com/questions/5099070
复制相似问题