Jump to content
  • 0

Как убрать отступ в меню на CSS?


Ang
 Share

Question

Доброго времени суток, имеется горизонтальное меню на CSS.

HTML


<div id="menu">
<ul>
<li><a href="">Главная</a></li>
<li><a href="">Главная</a></li>
<li><a href="">Главная</a></li>
<li><a href="">Главная</a></li>
</ul>
</div>

CSS


/* Menu
———————————————--*/
#menu {
height: 40px;
list-style: none;
background-color: #000000;
}

#menu li {
display: inline-block;
float: left;
}

#menu li a {
display: block;
line-height: 40px;
color: #EEEEEE;
padding-left: 10px;
padding-right: 10px;
}

#menu a:hover {
background-color: #CCCCCC ;
text-shadow: 2px 2px 1px #CCCCCC;
color: #444444;
}

Как убрать отступ слева(отмечен красным на картинке)?

h_1376492360_4428697_9d5875636d.png

Edited by Ang
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

не совсем по теме, но зачем тут флоат? Чтобы сделать гор. меню разве не достаточно просто указать inline-block? И вроде как элемент, у которого прописан флоат, автоматом становится block.

#menu li {

display: inline-block;

float: left;

}

Link to comment
Share on other sites

  • 0

А вы в dev tools или firebug заглядываете? там все подсвечивается при наведении и можно посмотреть какие параметры по-умолчанию у элемента.

У списков по-умолчанию есть padding-left настройте его в 0 и отступа "лишнего" не будет

не совсем по теме, но зачем тут флоат? Чтобы сделать гор. меню разве не достаточно просто указать inline-block? И вроде как элемент, у которого прописан флоат, автоматом становится block.

#menu li {

display: inline-block;

float: left;

}

Это уже другой вопрос, можно и на inline-block построить, только там придется бороться с другой проблемой - с пробелами. Можно и на table-cell построить, можно и на flexbox построить.

Плавающие элементы, да автоматически становятся блочными

Link to comment
Share on other sites

  • 0

не совсем по теме, но зачем тут флоат? Чтобы сделать гор. меню разве не достаточно просто указать inline-block? И вроде как элемент, у которого прописан флоат, автоматом становится block.

#menu li {

display: inline-block;

float: left;

}

float для IE.

Edited by Ang
Link to comment
Share on other sites

  • 0
И как посоветуете поступить?

Да можно и так поступить как у вас, просто inline-block, там абсолютно бессмыслен.

Если хотели на inline-block'ах делать, тогда надо float убирать, а для старых ie добавлять *zoom:1; чтобы включить hasLayout ну только нужно будет повоевать немного с лишними пробелами

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy