如何在导航中居右边界?

时间:2019-05-22 02:03:00

标签: html css sass

我试图将我的右边界居中于导航链接之间 (特别是当浏览器调整大小时)。我可以使用填充来居中,但是当我调整浏览器的大小时,边框将不会居中。

HTML

  <header>
    <img class="pebble-beach-golf-logo" src="images/logo.png" alt="tree on a cliff with '1919' written underneath">
    <ul>
      <li><a href="#">The Course</a></li>
      <li><a href="#">Rates & Memberships</a></li>
      <li><a href="#">Tee Times</a></li>
    </ul>
  </header>

SASS

ul {
  padding-left: 0px;
  list-style-type: none;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-bottom: 10px;
  li {
    font-family: $primary-font;
    font-weight: bolder;
    font-size: 1em;
    border-right: double $primary-color;
  }
  a {
    text-decoration: none;
    text-transform: uppercase;
    &:visited {
      color: inherit;
    }
    &:hover {
      @include hover
    }
    &:active {
      color: $primary-color;
    }
  }
}

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作,整个列表的内容以li项上的10px填充为中心:

ul {
  padding-left: 0px;
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}
li {
  font-weight: bold;
  font-size: 1em;
  border-right: 2px solid gray;
  padding: 0 10px;
}
a {
  text-decoration: none;
  text-transform: uppercase;
  /*...*/
}
li:last-child {
   border-right: 0;
}
<header>
  <img class="pebble-beach-golf-logo" src="images/logo.png" alt="Tree">
  <ul>
    <li><a href="#">The Course</a></li>
    <li><a href="#">Rates & Memberships</a></li>
    <li><a href="#">Tee Times</a></li>
  </ul>
</header>

答案 1 :(得分:1)

您可以使用flex: 1;使每个<li>填充尽可能多的空间(均匀分布)。然后,您可以将<a>中的每个<li>居中,并将边框应用于<li> s。

ul {
  list-style-type: none;
  display: flex;
}

li {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
}

li:not(:last-child) {
  border-right: double black;
}
<header>
  <ul>
    <li><a href="#">The Course</a></li>
    <li><a href="#">Rates & Memberships</a></li>
    <li><a href="#">Tee Times</a></li>
  </ul>
</header>