Как масштабировать блок lo go, чтобы он точно поместился в навигационной панели? - PullRequest
0 голосов
/ 08 мая 2020

это проблема только в мобиле. вот изображение https://i.stack.imgur.com/LvS77.png

это панель навигации html:

<div class="topnav" id="myTopnav">
    <a href="/" class="logo">LOGO</a>
    <a href="/example">example</a>
<a href="javascript:void(0);" class="icon" onclick="mob()">
    <i class="bars">
<div></div>
<div></div>
<div></div>
</i>
  </a>
</div>

и это css:

.topnav {
  background-color: #333;
  overflow: hidden;
}
.topnav a {
  float: right;
  display: block;
  color: #dfdfdf;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
.bars div {
  width: 35px;
  height: 5px;
  background-color: black;
  margin: 6px 0;
}
.topnav .icon {
  display: none;
}
.topnav .logo {
  float:left;
}
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

ps, к адаптивному классу добавляется javascript при нажатии трех полосок на мобильном устройстве

Спасибо

1 Ответ

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

Я добавил это css

.topnav .logo {
  flex: 1 1 auto;
  text-align: left;
}

.topnav {
   display: flex;
}

Это то, что вам нужно?

Не используйте float в css. У нас есть потрясающие css объектов flexbox для верстки. Поплавок разрушает макет.

.topnav {
  background-color: #333;
  overflow: hidden;
  display: flex;
}

.topnav a {
  display: block;
  color: #dfdfdf;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.bars div {
  width: 35px;
  height: 5px;
  background-color: black;
  margin: 6px 0;
}

.topnav .icon {
  display: none;
}

.topnav .logo {
  flex: 1 1 auto;
 }

   .topnav .logo a {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .topnav.responsive {
    position: relative;
  }
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}
<div class="topnav" id="myTopnav">
  <div class="logo">
      <a href="/" class="">LOGO</a>
  </div>
  <a href="/example">example</a>
  <a href="javascript:void(0);" class="icon" onclick="mob()">
    <i class="bars">
<div></div>
<div></div>
<div></div>
</i>
  </a>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...