Попытка добавить эффект наведения на панель навигации

Я пытаюсь добавить эффект наведения с Youtube видео

Я пытался в течение часа, два раза менял код; где мой оригинальный код был такой:

* {
  font-family: 'Montserrat', sans-serif;
  color: white;
  margin: 0;
  padding: 0;
}

.header {
  width: 100%;
  background-color: #2C2F33;
  border-bottom: 5px #FF9F00 solid;
  font-size: 15px;
  display: flex;
  align-items: center
}

#logo img {
  float: left;
  margin: 0;
  padding: 20px;
  width: 187.5px;
  height: 63.75px;
  background-color: #2C2F33;
}

.navbar {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
}

li {
  display: inline;
  padding: 0 22.5px 0 22.5px;
}

.navbar,
li,
a {
  text-decoration: none;
  list-style-type: none;
  text-transform: uppercase;
  background-color: #2C2F33;
  position: relative;
}

.navbar,
li,
a:hover {
  color: #FF9F00;
  text-decoration: none;
  list-style-type: none;
}

#userbalance {
  background-color: #23272A;
  padding: 10px;
  border: 3px #FF9F00 solid;
}

#userbalance {
  background-color: #23272A;
}

#balance,
#dsh {
  color: #FF9F00;
}

#dosh {
  color: #FFFFFF;
}

.body {
  background-color: #23272A;
}

footer {
  background-color: #23272A;
  position: absolute;
  text-align: center;
  clear: both;
  width: 100%;
  bottom: 18px;
  font-size: 12.5px;
}
<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">
    <link href="./css/style.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300" rel="stylesheet">
    <meta name="viewport" content="width=device-width">
    <meta name="author" content="Arszilla">

    <title>Website</title>

  </head>

  <body>

    <div class="header">

      <div id="logo">

        <img src="./img/logo.png"></img>

      </div>

      <div class="navbar">

        <div id="leftnavbar">

          <ul>

            <li id="userbalance"><span id="balance">Balance:</span> <span id="dosh">1.00000000</span> <span id="dsh">DSH</span></li>

          </ul>

        </div>

        <div id="rightnavbar">

          <ul>

            <li><a href="index.html">Button 1</a></li>

            <li><a href="index.html">Button 2</a></li>

            <li><a href="index.html">Button 3</a></li>

            <li><a href="index.html">Button 4</a></li>

          </ul>

        </div>

      </div>

    </div>

  </body>

</html>

Я удалил <div class="header"> и т. д. и сделал все это <header> и такой (в основном избавился от div)

Я следил за видео и до 14 минут все было хорошо, я понял, что он делает. После этого дела пошли под гору.

Я добавил это в мой код:

    .navbar,
li
{
  position: absolute;
  display: inline-block;
}

а также

    .navbar,
li
a::before
{
  content: '';
  display: block;
  height: 5px;
  width: 100%;
  background-color: red;
  position: absolute;
}

и получил это в результате:

Результат

Я не уверен, как я могу это исправить, потому что я не так опытен. Может ли кто-нибудь помочь мне? Я не уверен, стоит ли переделывать сайт с нуля и просто использовать <header>, <nav> и т. д. вместо того, чтобы использовать div и помечать "похожие" классы для них (class="header" так далее)

2 ответа

* {
  font-family: 'Montserrat', sans-serif;
  color: white;
  margin: 0;
  padding: 0;
}

.header {
  width: 100%;
  background-color: #2C2F33;
  border-bottom: 5px #FF9F00 solid;
  font-size: 15px;
  display: flex;
  align-items: center
}

#logo img {
  float: left;
  margin: 0;
  padding: 20px;
  width: 187.5px;
  height: 63.75px;
  background-color: #2C2F33;
}

.navbar {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
}

.navbar,
li,
a {
  text-decoration: none;
  list-style-type: none;
  text-transform: uppercase;
  background-color: #2C2F33;
  position: relative;
}
ul li { 
         padding: 9px 22.5px 11px 22.5px; 
         float:left; 
         border: 3px solid transparent 
       }
 ul li:hover {  
         border: 3px #FF9F00 solid;
       }

#userbalance {
  background-color: #23272A;
  padding: 10px;
  border: 3px #FF9F00 solid;
}

#userbalance {
  background-color: #23272A;
}

#balance,
#dsh {
  color: #FF9F00;
}

#dosh {
  color: #FFFFFF;
}

.body {
  background-color: #23272A;
}

footer {
  background-color: #23272A;
  position: absolute;
  text-align: center;
  clear: both;
  width: 100%;
  bottom: 18px;
  font-size: 12.5px;
}
<html>

  <head>

    <meta charset="utf-8">
    <link href="./css/style.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300" rel="stylesheet">
    <meta name="viewport" content="width=device-width">
    <meta name="author" content="Arszilla">

    <title>Website</title>

  </head>

  <body>

    <div class="header">

      <div id="logo">

        <img src="./img/logo.png">

      </div>

      <div class="navbar">

        <div id="leftnavbar">

          <ul>

            <li id="userbalance"><span id="balance">Balance:</span> <span id="dosh">1.00000000</span> <span id="dsh">DSH</span></li>

          </ul>

        </div>

        <div id="rightnavbar">

          <ul>

            <li><a href="index.html">Button 1</a></li>

            <li><a href="index.html">Button 2</a></li>

            <li><a href="index.html">Button 3</a></li>

            <li><a href="index.html">Button 4</a></li>

          </ul>

        </div>

      </div>

    </div>

  </body>

</html>

Используйте этот код CSS и проверьте свой эффект наведения

 ul li { 
         padding: 9px 22.5px 11px 22.5px; 
         float:left; 
         border: 3px solid transparent 
       }
 ul li:hover {  
         border: 3px #FF9F00 solid;
       }
Другие вопросы по тегам