2013-07-03 34 views
1

我遇到了我的html/css代码问题。我正在制作一个投资组合网站,顶部有一个水平导航栏,其中.png图像作为导航按钮和mouse-on/mouse-over效果(字母应该用鼠标变成灰色)。 我在水平对齐按钮时遇到了一些麻烦,但现在它们被放置在它们应该是的位置,唯一的事情是突然它们不再作为链接工作,并且mouse-on/mouse-over效果消失了。导航列表内嵌块链接不起作用

这是我的代码:

<!DOCTYPE html> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<html> 
<head> 
<title>Menu</title> 
<style type="text/css"> 

body 

{background-image:url('menubg.png');} 

{background-color:#FFFFFF;} 

#navlist{margin:0;position:relative;} 
#navlist li{margin:0;padding:0;list-style:none;position:relative;top:0;} 
#navlist li, #navlist a{height:64px;display:inline-block;} 


#about{left:0px;width:145px;} 
#about{background:url('about1.png')} 
#about a:hover{background: url('about2.png')} 

#amfi{left:0px;width:168px;} 
#amfi{background:url('amfi1.png')} 
#amfi a:hover{background: url('amfi2.png')} 

#personal{left:0px;width:202px;} 
#personal{background:url('personal1.png')} 
#personal a:hover{background: url('personal2.png')} 

#inspiration{left:0px;width:202px;} 
#inspiration{background:url('inspiration1.png')} 
#inspiration a:hover{background: url('inspiration2.png')} 

#cv{left:0px;width:65px;} 
#cv{background:url('cv1.png')} 
#cv a:hover{background: url('cv2.png')} 

#contact{left:0px;width:128px;} 
#contact{background:url('contact1.png')} 
#contact a:hover{background: url('contact2.png')} 
</style> 
</head> 

<body> 
<ul id="navlist"> 
    <li id="about"><a href="about.htm" target="main"></a></li> 
    <li id="amfi"><a href="amfi.htm" target="main"></a></li> 
    <li id="personal"><a href="personal.htm" target="main"></a></li> 
    <li id="inspiration"><a href="inspiration.htm" target="main"></a></li> 
    <li id="cv"><a href="cv.htm" target="main"></a></li> 
    <li id="contact"><a href="contact.php" target="main"></a></li> 
</ul> 
</body> 
</html> 

,这是我的网站是here,在这里你可以看到我的问题。

如果你能帮助我,我会非常感激!

+0

你需要学习很多CSS的...这可以用文字完成 –

+1

添加到@ JahanzebKhan的p oint,你也应该看看现代的HTML做法,因为你的网站是用不切实际的编码构建的,更不用说解决你最初问题的更多更好的方法了,我可以从你的网站上看到你仍然在使用框架,在HTML5中已弃用。 –

回答

0

尝试这样

#about{left:0px;width:145px;} 
#about{background:url('about1.png')} 
#about:hover{background: url('about2.png')} 

或者这样

#about a{left:0px;width:145px;} 
#about a{background:url('about1.png')} 
#about a:hover{background: url('about2.png')} 
+0

是的第二个作品完美,非常感谢你! – user2546404

0

<a>■找没有widthheight你会宣布这些在某种程度上一切的那一刻将是确定 我建议给予widthheight<a>元素的财产代替<li> 例如#about a{width:145px;height:64px}而不是#about{width:145px;height:64px}

0

将此添加到您的样式表中,您的问题将得到解决。

#navlist li a { 
    display: list-item; 
} 

希望这有助于。

1

我认为这里的问题是你只是放置一个锚标签,但在浏览器中它并没有被添加到特定的动作上我的意思是你给了<a>上的背景图像,但标签内没有内容,只要你放置超链接它应该对一些文本或img

因此,而不是使用空标签使用的图像或文本中,并使用JavaScript或者jQuery来改变img src

<a href="somthing.php" onmouseover="CHANGE_IMAGE();" onmouseout="REGAIN_IMAGE();"><img src="background/image.png"></a> 
+0

Tnx,我也会检查一下,但是Tall BoY的答案是有效的,所以我现在就使用它了! – user2546404

+0

+1为背景图片 –