2012-07-21 60 views
0

大家,我仍然在HTML5初學者和CSS3HTML5 + CSS3下拉顯示導航欄

我在與這導致當我徘徊在底部段稍微移動導航欄的問題。任何想法如何解決它或發生了什麼?

下面是HTML代碼:

<!DOCTYPE html> 
<html> 

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> 
<title>HTML5, CSS3 and jQuery Navigation menu</title> 
<link rel="stylesheet" href="css/nav.css"> 
<!--[if IE]> 
    <script src="html5.js"></script> 
<![endif]--> 
</head> 

<body class="no-js"> 
    <nav id="topNav"> 
     <ul> 
      <li><a href="#" title="Nav Link 1">HOME</a></li> 
      <li><a href="#" title="Nav Link 1">SERVICES</a> 
       <ul> 
        <li><a href="#" title="Sub Nav Link 1">Sub Nav Link 1</a></li> 
        <li><a href="#" title="Sub Nav Link 2">Sub Nav Link 2</a></li> 
        <li><a href="#" title="Sub Nav Link 3">Sub Nav Link 3</a></li> 
        <li><a href="#" title="Sub Nav Link 4">Sub Nav Link 4</a></li> 
        <li class="last"><a href="#" title="Sub Nav Link 5">Sub Nav Link 5</a></li> 
       </ul>   
       </li> 
      <li><a href="#" title="Nav Link 1">ABOUT US</a></li> 
      <li class="last"><a href="#" title="Nav Link 1">ENQUITIES</a></li> 
     </ul> 
    </nav>  
    <p>"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."<p> 
    <script src="js/jquery.js"></script> 
    <script src="js/modernizr.js"></script> 
</body> 

</html> 

這裏是CSS

/* JS disabled styles */ 
.no-js nav li:hover ul { display:block; } 

/* base nav styles */ 
nav { 
    margin: 0 auto 20px; 
    position: relative; 
    background-color: #FFFFFF; 
    font: 16px Tahoma, Sans-serif; 
} 
nav ul { padding:0; margin:0; } 
nav li { position:relative; float:left; list-style-type:none; } 
nav ul:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } 

nav ul a:hover { color: #F90; border-bottom: thin; border-bottom-style:solid;} 

nav li a { 
    display: block; 
    padding: 10px 20px; 
    color: #333; 
    text-decoration: none; 
    font-weight: 600; 
} 
nav li a:focus { outline:none; text-decoration:underline; } 
nav li:first-child a { border-left:none; } 
nav li.last a { border-right:none; } 
nav a span { display:block; float:right; margin-left:5px; } 
nav ul ul { display:none; width:110%; position:absolute; left:0; background:#FFFFFF; } 
nav ul ul li { float:none; } 
nav ul ul a { padding:5px 10px; border-left:none; border-right:none; font-size:14px; } 
nav ul ul a:hover { color: #F90; } 

/* CSS3 */ 

.cssgradients nav li:hover { background-image:-moz-linear-gradient(0% 100px 90deg, #999, #222); background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#222), to(#555)); } 
.borderradius nav ul ul { -moz-border-radius-bottomleft:4px; -moz-border-radius-bottomright:4px; -webkit-border-bottom-left-radius:4px; -webkit-border-bottom-right-radius:4px; border-bottom-left-radius:4px; border-bottom-right-radius:4px; } 
.boxshadow.rgba nav ul ul { background-color:rgba(0,0,0,0.8); -moz-box-shadow:2px 2px 2px rgba(0,0,0,.8); -webkit-box-shadow:2px 2px 2px rgba(0,0,0,.8); box-shadow:2px 2px 2px rgba(0,0,0,.8); } 
.rgba nav ul ul li { border-left:1px solid rgba(0,0,0,0.1); border-right:1px solid rgba(0,0,0,0.1); } 
.rgba nav ul ul a:hover { background-color:rgba(85,85,85,.9); } 
.borderradius.rgba nav ul ul li.last { border-left:1px solid rgba(0,0,0,0.1); border-bottom:1px solid rgba(0,0,0,0.1); -moz-border-radius-bottomleft:4px; -moz-border-radius-bottomright:4px; -webkit-border-bottom-left-radius:4px; -webkit-border-bottom-right-radius:4px; border-bottom-left-radius:4px; border-bottom-right-radius:4px; } 
.csstransforms ul a span { -moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg); } 

其實,我這樣做是使用它的教程,並試圖將我自己的想法。 任何人,請。謝謝。

+1

你的邊界正在搞東西。將它們設置爲1px透明,而不是沒有邊框。 – Chad 2012-07-21 04:06:14

+0

@ Torr3nt O ..謝謝= D我現在找到了解決方案^^ – 2012-07-21 04:15:52

回答

2

的問題是,您要添加一個像素邊框的導航項目的底部,當你在它懸停。您在此行上執行此操作:

nav ul a:hover { color: #F90; border-bottom: thin; border-bottom-style:solid;} 

在懸停之前,沒有任何導航項具有邊框。懸停後,會創建一個邊框,將該段落向下移動1px(邊框的大小)。因此,您可以爲所有導航項目設置一個border-bottom。如果您不希望顯示該邊框,則可以使用border-color: transparent

3

添加CSS的下面一行:

nav ul a { 
    border-bottom: thin; border-bottom-style: solid; border-bottom-color: transparent; 
}