HTML CSS добавить выпадающее меню

У меня есть меню и подменю из одного из элементов. Код здесь: http://jsfiddle.net/mq5g6upe/. Я хотел бы, чтобы вы сказали мне, как реализовать вертикальное выпадающее меню из элемента Мой проект, потому что сейчас это не кажется нормальным.

заголовок.html

    <header>
  <div class = "main">
    <ul>
      <li><a href = "/home">Home</a></li>
      <li><a href = "/projects">My projects</a>
        <ul class = "my-projects-dropdown">
          <li><a href = "/projects/endlessblow">Endless Blow</a>
          <li><a href = "#">Sub-2</a></li>
          <li><a href = "#">Sub-3</a></li>
        </ul>
      </li>
      <li><a href = "https://play.google.com/store/apps/dev?id=6173561253714763017">My Google Play link</a></li>
      <li><a href = "/about">About</a></li>
      <li><input type = "submit" class = "a-login" value = "Login" (click) = "navigateToLogin()"></li>
    </ul>
  </div>
</header>

заголовок.css

    #container {
    margin: 0 auto;
}
 
ul {
  float: right;
  list-style-type: none;
  margin-top: 25px;
  margin-right: 115px;
}

ul li {
  display: inline-block;
  vertical-align: middle;
}

ul li a {
  text-decoration: none !important;
  padding: 5px 20px;
  border: 1px solid #000;
  color: #000;
  transition: 0.4s ease;
  font-size: 20px !important;
}

ul li a:hover {
  background-color: cyan;
}

ul li a.li-login {
  text-decoration: none !important;
  position: relative;
  margin-left: 10px;
  padding: 5px 10px;
  color: #000;
  transition: 0.4s ease;
  font-size: 16px !important;
  border: none;
  vertical-align: middle;
  line-height: normal;
}

ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  display: block;
 
}

ul li:nth-child(5){
  margin-left: 20px;
  vertical-align: middle;
  line-height: normal;
}






ul ul {
    display: none;
    position: absolute; 
}

ul ul li {
    float:none;
    display:list-item;
    position: relative;
}

Теперь есть три проблемы. Сначала кажется, что подменю элементов перекрывается другими элементами. Во-вторых, есть расстояние между элементом меню Мои проекты и первым элементом подменю. Третий внешний jsfiddle в производстве (https://jakuwegiel.web.app/home), также подменю перемещено немного вправо.

stackoverflow.com/questions/8141513/…
Darwin 26.12.2020 19:12

но мой пример другой.

user12410010 26.12.2020 19:13
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я разветвил твою скрипку. проверьте это https://jsfiddle.net/wrtxkz0d . Сделал эти изменения в файле css. Выпадающий список работает.

ul li:hover > ul {
 visibility: visible;
 opacity: 1;
 display: block;
 margin:0;
 padding: 0;
}

ul ul li {
 float:none;
 display:list-item;
 position: relative;
 margin: 13px 0;
}

Почти готово. Но просто взгляните на jakuwegiel.web.app/home. Это подменю перемещено вправо. Как это решить?

user12410010 26.12.2020 19:23

@mnietuniema, внутренний ul имеет отступы с правой стороны. Поэтому удалите отступы, применив padding: 0 ; Проверьте ответ выше, я отредактировал.

fullstack dev 26.12.2020 19:28

Другие вопросы по теме