2013-11-03 35 views
0

以下是菜單項從杆 http://jsfiddle.net/bej85/菜單上添加寬度否則NAV UL在拐角

的角出現的CSS和我編輯的CSS和在加入

width:19em; 

#nav ul部分的CSS和菜單項目居中。

http://jsfiddle.net/bej85/1/

我不像爲什麼將邊緣非常清晰帶來了菜單項,中心, 我是新來的CSS類的話和HTML,所以我想知道這種行爲。

以下是代碼

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


/* styles for navigation */ 
#nav { 
    background-color: #2322ff; 
    height: 3em; 


} 
#nav ul { 
    list-style:none; 
    margin:0 auto; 
    padding: 0; 


} 
#nav ul li { 
    font-weight: normal; 
     text-transform: uppercase; 
    float:left;  

} 

#nav ul li a {  
    display: block; 
    padding: .5em;  
    border: 1px solid #ba89a8; 
    border-radius: .5em; 
    margin: .25em; 

} 

</style> 
</head> 
<body> 
<div id="nav"> 
<ul> 
<li><a href="">House</a></li> 
<li><a href="">Baby</a></li> 
<li><a href="">More</a></li> 
<li><a href="">About</a></li> 
</ul> 
</div> 

<!-- end #content --> 
</body> 
</html> 

,這裏是當寬它如何出現:19em是在導航UL部分 menu at centre

,如果寬度:19em沒有出現在導航UL部分則出現如下 menu at corner 我想知道的是爲什麼這種行爲的寬度:19em導航部分。

回答

0

這不是因爲width: 19em,而是因爲margin: 0 auto應用於UL元素。

margin: 0 auto如果應用的寬度小於其父元素的寬度,則會將任何塊元素置於中間。

如果您不知道UL元素的寬度,則使用display: inline-block,並將text-align: center指定爲其父元素。

+0

感謝您通知,如果有一些鏈接提及相同的給我我已經浪費了很多時間這 –

+0

@RegisteredUser在文檔中,你可以找到只有文檔,但沒有解釋關於一個技巧。我相信這是一個竅門(_基本的一個)。無論如何,這裏'margin:0 auto'的語法是'margin:左上和右下'。所以,左邊和右邊延伸給出一個邊緣自動將元素置於中心。無需擔心,你會慢慢理解它:) –