2010-11-30 42 views
0

我想讓下拉菜單列表顯示內聯(水平),但最終垂直。如果我將ul_dropdown寬度設置爲600px左右,它會做我想要的結果。但是,我希望它能夠在沒有我設置寬度的情況下執行此操作。這裏是我的簡單的HTML/CSS:下拉菜單列表問題

<style type="text/css"> 
#menu { 
list-style:none; 
} 

#menu .item{ 
display:inline; 
position:relative; 
float:left; 
width:100px; 
height:20px; 
text-align:center; 
} 

#menu .item .ul_dropdown{ 
    position:absolute; 
float:left; 
    left:-999em; 
list-style:none; 
margin:0px; 
padding:0px; 
border:2px solid red; 

} 

#menu .item .ul_dropdown li h3{ 
margin:0px; 
padding:0px; 
} 

#menu .item .ul_dropdown li{ 
display:inline; 
position:relative; 
float:left; 
list-style:none; 
margin-right:1px; 
} 

#menu .item .ul_dropdown li ul{ 
display:inline!important; 
position:relative; 
float:left; 
padding:0px; 
margin:0px; 
width:200px; 
} 

#menu .item .ul_dropdown li ul li{ 
border:1px solid blue; 
width:200px; 
height:22px; 
} 

#menu .item:hover{ 
background-color:red; 
} 

#menu .item:hover .ul_dropdown { 
left:0px; 
top:auto; 
} 

#menu .item:hover .ul_dropdown li 
{ 
display:inline; 
width:200px; 
} 

</style> 
<ul id="menu"> 
<li class="item">Main 
    <ul class="ul_dropdown"> 
    <li><h3>Sales</h3> 
     <ul> 
      <li>Sales Sample 1</li> 
       <li>Sales Sample 2</li> 
       <li>Sales Sample 3</li> 
      </ul> 
     </li> 
    <li><h3>Invoice</h3> 
     <ul> 
      <li>Invoice Sample 1</li> 
       <li>Invoice Sample 2</li> 
      </ul> 
    </li> 
    <li><h3>Deal</h3> 
     <ul> 
      <li>Deal Sample 1</li> 
       <li>Deal Sample 2</li> 
       <li>Deal Sample 3</li> 
      </ul> 
    </li>   
    </ul> 

    <li class="item">1st Menu 
    </li> 

    <li class="item">2nd Menu 
    </li> 

    <li class="item">3rd Menu 
    </li> 
</ul> 

回答

1

使用display:inline-block;和/或float:left;爲貴麗的。 已經到工作!

+0

只需在所有li上設置它? – Bugsy 2010-11-30 20:46:43