Как сделать панель навигации, которая могла бы изменять размер индивидуально при наведении курсора мыши? - PullRequest
2 голосов
/ 29 мая 2020

<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
  * {
    box-sizing: border-box
  }
  
  body {
    font-family: Arial, Helvetica, sans-serif;
  }
  
  .navbar {
    width: 100%;
    background-color: #555;
    overflow: auto;
  }
  
  .navbar a {
    float: left;
    padding: 12px;
    color: white;
    text-decoration: none;
    font-size: 17px;
    width: 25%;
    /* Four links of equal widths */
    text-align: center;
  }
  
  .navbar a:hover {
    background-color: #000;
    height: 1500px;
  }
  
  .navbar a.active {
    background-color: #4CAF50;
  }
  
  @media screen and (max-width: 500px) {
    .navbar a {
      float: none;
      display: block;
      width: 100%;
      text-align: left;
    }
  }
</style>

<body>

  <h2>Responsive Navbar with Links of Same Width</h2>
  <p>Try to resize the browser window to see the responsive effect.</p>

  <div class="navbar">
    <a class="active" href="#">Home</a>
    <a href="#">Search</a>
    <a href="#">Contact</a>
    <a href="#">Login</a>
  </div>

</body>

</html>

введите описание изображения здесь

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

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Вы можете дать родительскому элементу .navbar фиксированную высоту и удалить overflow: auto (что установит для него значение по умолчанию overflow:visible.

 .navbar {
      height: 45px;
      width: 100%;
      background-color: #555;
    }

JSFiddle: Demo

1 голос
/ 29 мая 2020

Просто удалил цвет фона из navbar и присвоил .navbar a

* {box-sizing: border-box}
body {font-family: Arial, Helvetica, sans-serif;}

.navbar {
  width: 100%;
  overflow: auto;
}

.navbar a {
  float: left;
  padding: 12px;
  background-color: #555;
  color: white;
  text-decoration: none;
  font-size: 17px;
  width: 25%; /* Four links of equal widths */
  text-align: center;
}

.navbar a:hover {
  background-color: #000; 
  height:1500px;
}

.navbar a.active {
  background-color: #4CAF50;
}

@media screen and (max-width: 500px) {
  .navbar a {
    float: none;
    display: block;
    width: 100%;
    text-align: left;
  }
}
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>

</style>
<body>

<h2>Responsive Navbar with Links of Same Width</h2>
<p>Try to resize the browser window to see the responsive effect.</p>

<div class="navbar">
  <a class="active" href="#">Home</a> 
  <a href="#">Search</a> 
  <a href="#">Contact</a> 
  <a href="#">Login</a>
</div>

</body>
</html>
...