Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Горизонтальное меню навигации с отцентрованными элементами

#html #css


Пытаюсь сделать меню с помощью LI и отцентрировать текст ссылок. И чтобы отступов
между ссылками не было. Но, к сожалению, ничего не выходит: текст не выравнивается
по вертикали, и отступы между элементами сохранились. 



ul.menu {
  list-style-type: none; 
  margin: 0; 
  padding: 0; 
  overflow: hidden; 
  background-color: #333; 
  height: 100px;
}

ul.menu li {
  display: inline-block;
  padding: 0;
  margin: 0;
  height: 100%;
  width: 75px;
  background-color: red;
  text-align: center;
}





Что тут сделано не верно. Помогите пожалуйста
    


Ответы

Ответ 1



1. inline-block 1) Если высота меню 100px, то однострочные пункты можно отцентрировать по вертикали с помощью line-height: 100px;. 2) Инлайн-блоки ведут себя как слова в предложении: оставленные между ними пробелы и переводы строки превращаются в лишние просветы. На английском СО собраны способы борьбы с этой напастью. ul.menu { background-color: #333; list-style-type: none; margin: 0; padding: 0; } ul.menu li { background-color: red; display: inline-block; line-height: 100px; text-align: center; width: 75px; } 2. table-cell Можно заставить пункты меню вести себя так, будто они ячейки таблицы: ul.menu { background-color: #333; list-style-type: none; margin: 0; padding: 0; } ul.menu li { background-color: red; display: table-cell; height: 100px; text-align: center; vertical-align: middle; width: 75px; }

Ответ 2



Как вариант: ul.menu { list-style-type: none; margin: 0; padding: 0; overflow: hidden; background-color: #333; } ul.menu li { float: left; } ul.menu a { display: block; width: 75px; height: 100px; background: red; text-align: center; text-decoration: none; line-height: 100px; color: #fff; } ul.menu a:hover { background: silver; color: #000; }

Ответ 3



Могу предложить вам воспользоваться flex. ul.menu { list-style-type: none; padding: 0; background-color: #333; height:100px; display: flex; } ul.menu li{ display: flex; align-items: center; justify-content: center; height:100%; width:75px; background-color:red; }

Комментариев нет:

Отправить комментарий