Проблема с заполнением при создании панели навигации

Я только начал изучать HTML и CSS и хочу создать панель навигации. Я столкнулся с проблемой: при наведении на ссылку под каждой из моих ссылок появляется странное дополнение, как показано на рисунках. Есть ли способы решить проблему, не удаляя отступы?

Проблема с заполнением при создании панели навигацииПроблема с заполнением при создании панели навигации

Браузер: Microsoft Edge 126.0.2592.87.

h1 {
  text-align: center;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: normal;
}

.navbar ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #131842;
}

.navbar a {
  color: white;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px;
}

.navbar a:hover {
  background-color: #405D72;
}
<header>
  <nav class = "navbar">
    <ul>
      <li><a href = "home.html">Home</li>
      <li><a href = "projects.html">Projects</li>
      <li><a href = "about.html">About</li>
    </ul>
  </nav>
</header>

Я смотрел это видео и ожидал аналогичного результата, показанного на видео.

https://thewikihow.com/video_f3uCSh6LIY0&t=232s

Навигация в видео:

Проблема с заполнением при создании панели навигации

Добро пожаловать в ТАК! По теме: вы не закрыли теги привязки <a> в каждой строке, вот так: <li><a href = "home.html">Home</a></li>

Roy 08.07.2024 09:15
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
1
64
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваша проблема возникает из-за того, что вы не закрываете теги <a>.

Для баров <nav> не требуются теги <ul> и <li>... только теги <a>. В результате получится более простая структура, более надежная и доступная. Посмотрите этот фрагмент.

nav {
  background-color: #131842;
}

nav a {
  color: white;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px;
}

nav a:hover {
  background-color: #405D72;
}
<header>
  <nav>
    <a href = "home.html">Home</a>
    <a href = "projects.html">Projects</a>
    <a href = "about.html">About</a>
  </nav>
</header>

Хотя чисто технически правильно, что nav не требует списка ссылок, он все равно должен его использовать. Быть более надежным без него технически неправильно. Основная причина, по которой вам следует это сделать, — это соображения доступности, хотя даже W3C и WHATWG рекомендуют это.

tacoshy 08.07.2024 09:24

И все же кажется, что реальный опыт пользователей, использующих программы чтения с экрана, показывает, что списки усложняют им жизнь.

Brett Donald 08.07.2024 09:29

может быть, но тогда все сводится к рейтингу доступности, который влияет на SEO. Хотя я согласен, что у обоих есть свои плюсы и минусы, я считаю это утверждение каким-то вводящим в заблуждение и односторонним.

tacoshy 08.07.2024 09:34

@tacoshy Я не могу найти никаких упоминаний о том, что навигация без ul влияет на показатель доступности. Я проверил его с маяком, и никаких предупреждений или чего-то еще не появилось. Есть ссылка? (ссылка W3C его использует, однако там же написано, что так не обязательно)

Symtox 08.07.2024 09:57
Ответ принят как подходящий

Не забудьте добавить закрывающий тег </a>. Вот валидатор разметки, с помощью которого вы сможете проверить свои будущие работы — https://validator.w3.org/

h1 {
  text-align: center;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: normal;
}

.navbar ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #131842;
}

.navbar a {
  color: white;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px;
}

.navbar a:hover {
  background-color: #405D72;
}
<header>
  <nav class = "navbar">
    <ul>
      <li><a href = "home.html">Home</a></li>
      <li><a href = "projects.html">Projects</a></li>
      <li><a href = "about.html">About</a></li>
    </ul>
  </nav>
</header>

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