2

私はcssを学んでいますが、メニューとサブメニューを中央に配置する方法がわかりません。margin: auto または margin-left と margin-right を auto に使用していますが、機能していません。どんな助けでも大歓迎です。ありがとう

HTML

    <div id="menu">                          
    <ul id="nav">                          
        <li><a href="#">item1</a>            
            <ul>                               
                <li><a href="">subitem1</a></li> 
            <li><a href="">subitem2</a></li> 
            <li><a href="">subitem3</a></li> 
           </ul>                             
        </li>                                
        <li><a href="#">item2</a>            
            <ul>                               
                <li><a href="">subitem1</a></li> 
              <li><a href="">subitem2</a></li> 
                <li><a href="">subitem3</a></li> 
            <li><a href="">subitem4</a></li> 
            <li><a href="">subitem5</a></li> 
            <li><a href="">subitem6</a></li> 
            </ul>                            
        </li>                                
    </ul>                                  
</div>                                   

CSS

    #menu {                  
  clear: none;           
  width: 960px;          
}                        
ul#nav {                 
  width: 960px;          
  margin: 0;             
  padding: 0;            
  list-style: none;      
}                        
ul#nav li {              
    float: left;           
    display: inline-block; 
}                        
ul#nav li a {            
  line-height: 40px;     
    padding: 0 30px;       
  text-align: center;    
}                        
ul#nav ul {              
    display: none;         
}                        
ul#nav li:hover > ul {   
  position: absolute;    
    display: block;        
  margin: auto;          
    width: 100%;           
}                        

フィドルhttp://jsfiddle.net/davidgonzalo/ZzaDY

4

2 に答える 2

1

これはあなたの望む結果ですか? http://jsfiddle.net/shaunp/ZzaDY/1/

(フィドル ウィンドウは小さいため、スクロールバーが表示される場合があることに注意してください。コンテンツは実際に中央に配置されます)

  1. text-align:center;に追加ul#nav
  2. float: left;から取り除くul#nav li
  3. position:absolute;から取り除くul#nav li:hover > ul

CSS

#menu {
  clear: none;
  width: 960px;
}
ul#nav {
  width: 960px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align:center;
}
ul#nav li {
    display: inline-block;  
}
ul#nav li a {
  line-height: 40px;
    padding: 0 30px;
}
ul#nav ul {
    display: none;
}
ul#nav li:hover > ul {
  display: block;
  margin: auto;
  width: 100%;
}
于 2013-08-11T17:50:28.507 に答える
0

使用する:

ul, li {

 text-align:center;

}


li
{
    margin-left: -40px;
}

これにより、メニューとサブメニューのテキストが中央に配置されます。

于 2013-08-11T17:39:45.147 に答える