【问题标题】:How to fine tune this navigation bar?如何微调这个导航栏?
【发布时间】:2017-02-19 23:57:15
【问题描述】:

HTML 新手,想知道如何使导航栏看起来更好一些,但我不明白如何。找人帮忙

.navigation-bar {
  height: 32px;
  width: 100%;
}

.navigation-bar ul {
  padding: 0px;
  margin: 0px;
  text-align: center;
  width: 430px;
  background-color: #000;
  margin-left: auto;
  margin-right: auto;
}

.navigation-bar li {
  list-style-type: none;
  padding: 0px;
  height: 15px;
  display: inline;
}

.navigation-bar li a {
  color: #fff;
  background-color: #000;
  font-size: 12px;
  text-transform: uppercase;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  text-decoration: none;
  padding-right: 1em;
  padding-left: 1em;
  line-height: 2em;
  margin-right: 16px;
}

.navigation-bar li:first-child {
  margin-left: 20px;
  border: #000;
}

.navigation-bar li a:hover {
  background-color: #e60000;
  transition: .7s background-color;
}
<div class="navigation-bar">
  <div id="navigation-container" class="cf">
    <ul>
      <li><a href="Index.html">Home</a></li>
      <li><a href="About.html">About DRC</a></li>
      <li><a href="Products.html">Our Products</a></li>
      <li><a href="Contact.html">Contact</a></li>
    </ul>
  </div>
</div>

我希望每个“链接”由一条细白线分隔,并且我希望当您将鼠标悬停在它上面时变为红色的区域更大,以便它填充该“链接”所在的小部分。感谢任何帮助的人

【问题讨论】:

    标签: html css navigation


    【解决方案1】:

    你可以这样做:

    .navigation-bar {
      width:100%;
      text-align:center;
    }
    
    .navigation-bar ul {
      padding: 0px;
      text-align: center;
      margin: 0px auto;
      display: inline-block;
    }
    
    .navigation-bar ul:after {
      content: "";
      clear:both;
      display:table;
    }
    
    .navigation-bar li {
      list-style-type: none;
      padding: 0px;
      float: left;
      display: inline-block;
      position: relative;
    }
    
    .navigation-bar li:after {
        content: "";
        display: inline-block;
        position: absolute;
        width: 1px;
        height: 100%;
        background: #333;
      z-index:1;
    }
    
    .navigation-bar li:last-child:after {
        content: "";
      display:none;
    }
    
    .navigation-bar li a {
      color: #fff;
      background-color: #000;
      font-size: 12px;
      text-transform: uppercase;
      font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
      text-decoration: none;
      padding: 1em 2em;
      line-height: 2em;
      display: inline-block;
      margin:0px;
    }
    
    .navigation-bar li a:hover {
      background-color: #e60000;
      transition: .5s background-color;
    }
    <div class="navigation-bar">
      <div id="navigation-container" class="cf">
        <ul>
          <li><a href="Index.html">Home</a></li>
          <li><a href="About.html">About DRC</a></li>
          <li><a href="Products.html">Our Products</a></li>
          <li><a href="Contact.html">Contact</a></li>
        </ul>
      </div>
    </div>

    但是我可能会使用新的 css3 flexbox 来处理这种东西。

    【讨论】:

      【解决方案2】:

      您不需要设置高度,除非您真的需要它。
      要使链接更大,请添加更多填充。
      制作 li 的内联块,以及锚块(或内联块,也应该工作)。
      在每个项目之间划一条细线。使用右边界,但用:not 排除最后一个元素(我们不需要在那里有一行)。

      .navigation-bar {
        /*height: 32px;*/
        width: 100%;
      }
      
      .navigation-bar ul {
        padding: 0px;
        margin: 0px;
        text-align: center;
        width: 430px;
        /*background-color: #000;*/
        margin-left: auto;
        margin-right: auto;
      }
      
      .navigation-bar li {
        list-style-type: none;
        padding: 0px;
        /*height: 15px;*/
        display: inline-block;
      }
      
      .navigation-bar li a {
        color: #fff;
        background-color: #000;
        font-size: 12px;
        text-transform: uppercase;
        font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
        text-decoration: none;
        padding: 1em;
        /*line-height: 2em;*/
        /*margin-right: 16px;*/
        display: block;
      }
      
      /*.navigation-bar li:first-child {
        margin-left: 20px;
        border: #000;
      }*/
      
      .navigation-bar li a:hover {
        background-color: #e60000;
        transition: .7s background-color;
      }
      
      .navigation-bar li:not(:last-child) {
        border-right: 1px solid #333;
      }
      <div class="navigation-bar">
        <div id="navigation-container" class="cf">
          <ul>
            <li><a href="Index.html">Home</a>
            <li><a href="About.html">About DRC</a>
            <li><a href="Products.html">Our Products</a>
            <li><a href="Contact.html">Contact</a>
          </ul>
        </div>
      </div>

      【讨论】:

      • 非常感谢@pol,我进行了相关更改,但是它们的链接或背景似乎不在中心。链接在图像上,所以我在
          上保留了背景颜色,但它看起来并不居中。知道如何解决这个问题吗?
      • 刚刚完成,我应该把我的代码复制过来并保存一个版本吗?
      • 保存并分享链接。
      • 你又来帮我了?只需要解决一些问题
      猜你喜欢
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多