Неупорядоченный список, не выравнивающий весь путь влево в div

У меня есть неупорядоченный список, который я использую в качестве простой панели навигации. Это выглядит следующим образом:

enter image description here

Как вы можете видеть, элементы <li> не выравниваются полностью слева от <div>, в которых они содержатся. Я пробовал text-align: left; в содержащем <div>, но, похоже, нет эффект.

Соответствующий HTML:

<div id="menu">                                                                         
    <div id="menutop">                                                                  
        <ul>                                                                            
            <li><a href="#">Home</a></li>                                               
            <li><a href="#">About</a></li>                                              
        </ul>                                                                           
    </div>     

Соответствующий CSS:

#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;
}

Любые идеи?

Ответ 1

ul и li имеют по умолчанию маркер или дополнение, в зависимости от браузера. Вам необходимо переопределить этот стиль по умолчанию в вашем меню:

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

Смотрите демонстрацию здесь

Примечание. По умолчанию jsfiddles использует CSS reset, поэтому не всегда хорошо подходит для тестирования такого рода вещей. Обязательно отключите "Normalized CSS" при поиске такого рода ошибок.

Ответ 3

Попробуйте использовать CSS Reset.

Простейшая форма:

* { margin: 0; padding: 0; }

Ответ 4

вы можете просто переопределить заполнение и маркер ul и li.

этот простой код:

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

Ответ 5

Вы можете удалить поле и дополнение меню

#menu *{
margin:0;
padding:0;
}

Ответ 6

<ul> элемент выравнивается влево, но <li> элементы имеют padding-left, установленный в 10px. Поэтому первый элемент немного вправо.