1. ホーム
  2. html

[解決済み] 順序なしリストが div 内で左いっぱいに整列されない

2022-02-10 02:39:58

質問

私は単純なナビゲーションバーとして使用している順序なしリストを持っています。それは以下のようになります。

しかし、ご覧のように <li> の左側でずっと整列しているわけではありません。 <div> に含まれています。試しに text-align: left; を含む <div> が、何の効果もないようです。

    #menu {
        width: 800px;
        margin: 0 auto;
    }
    
    #menu div {
        float: left;
        width: 400px;
        height: 60px;
        background-color: #CACACA;
    }
    
    #menutop {
        text-align: left;
    }
    
    #menutop ul {
        list-style: none;
    }
    
    #menutop li {
       display: inline;
       padding: 10px;
    }
    
    #menutop a {
        color: #000000;
        text-decoration: none;
    }
    
    #menutop a:hover {
        text-decoration: underline;
    }
      
    <div id="menu">                                                                         
        <div id="menutop">                                                                  
            <ul>                                                                            
                <li><a href="#">Home</a></li>                                               
                <li><a href="#">About</a></li>                                              
            </ul>                                                                           
        </div>     

何かアイデアはありますか?

解決方法は?

ulli は、デフォルトでブラウザによってマージンまたはパディングを持ちます。メニュー内でこのデフォルトスタイルをオーバーライドする必要があります。

#menu ul, #menu li {
    margin: 0; padding: 0;
}

デモを見る こちら

注意: デフォルトでは、jsfiddlesはCSSのリセットを行うので、この種のテストには必ずしも適しているとは言えません。この種のバグを探すときは、必ず"Normalized CSS"を無効にしてください。