Распространение по центру навигационной панели в HTML - PullRequest
0 голосов
/ 16 марта 2020

Баннеры Я хочу "разложить" мой центрированный баннер в HTML. Я смог разложить текст, но я хочу сделать ссылки на баннере больше, так как они в настоящее время соответствуют размеру моего текста. Если требуется какое-либо разъяснение, пожалуйста, дайте мне знать.

body {
  margin: 0;
  font-family: Times New Roman;
}

.topnav {
  overflow: hidden;
  background-color: #0F5AEA;
  display: flex;
  justify-content: center;
  justify-content: space-between;
}

.topnav a {
  float: left;
  color: #F2F2F2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav a:hover {
  background-color: #BBEAFA;
  color: black;
}

.topnav a.active {
  background-color: #6F16A5;
  color: white;
}
<div class="topnav">
  <a class="active" href="#home">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>
</div>

<div style="padding-left:16px">
  <h2>Top Navigation Example</h2>
  <p>Some content..</p>
</div>

Ответы [ 2 ]

2 голосов
/ 16 марта 2020

Просто добавьте flex-grow: 1 к ссылкам навигации. Если вы хотите, чтобы все они были одинаковой ширины, вы можете использовать flex: 1, что аналогично комбинации flex-grow: 1 и flex-basis: 0.

.topnav a {
  flex-grow: 1;  // or flex: 1;
  float: left;  // this does not have effect on flex items by the way
  color: #F2F2F2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

Если вы хотите узнать больше, нет необходимости повторять уже хорошо документированные документы:

https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow

https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis

Вот один из ваши варианты:

body {
  margin: 0;
  font-family: Times New Roman;
}

.topnav {
  overflow: hidden;
  background-color: #0F5AEA;
  display: flex;
  justify-content: center;
  justify-content: space-between;
}

.topnav a {
  flex: 1;
  float: left;
  color: #F2F2F2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
.topnav a:hover {
  background-color: #BBEAFA;
  color: black;
}

.topnav a.active {
  background-color: #6F16A5;
  color: white;
}
<div class="topnav">
  <a class="active" href="#home">Home</a>
  <a href="#news">News</a>
  <a href="#contact">Contact</a>
  <a href="#about">About</a>
</div>

<div style="padding-left:16px">
  <h2>Top Navigation Example</h2>
  <p>Some content..</p>
</div>
0 голосов
/ 16 марта 2020

Просто дайте ему max-width:25% и заставьте width: 100%. Также вам не нужно float, так как вы используете flex.

.topnav a {
  max-width: 25%;
  width: 100%;
  color: #F2F2F2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

Проверьте это в прямом эфире на Codepen здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...