【问题标题】:How to let the Navigation Bar (and maybe other stuff) end on the right如何让导航栏(可能还有其他东西)在右侧结束
【发布时间】:2015-04-26 05:08:57
【问题描述】:

所以我的导航栏有问题。我已将其宽度设置为 100%。但我想看到最后,因为它有圆角......

就像这样:| (=======) |

不像现在这样:| (==========|

    #nav {

      height: 60px;

      font-size: 30px;

      line-height: 60px;

      vertical-align: middle;

      text-align: center;

      background-color: #0080FF;

      width: 100%;

      border: 10px solid #16044E;

      border-radius: 20px;

      z-index: 1;

    }

    #nav ul {} #nav li {

      display: inline;

      text-align: center;

      margin: 20px;

    }

    #nav a {

      color: white;

      text-decoration: none;

    }
<ul id="nav">
  <li><a href="">Home</a>
  </li>
  <li><a href="">Courses</a>
  </li>
  <li><a href="">Subjects</a>
  </li>
  <li><a href="">Sign Up</a>
  </li>
  <li><a href="">Log In</a>
  </li>
</ul>

【问题讨论】:

  • 周围的容器也需要一个宽度。
  • @HydraCles 使用@ 后跟此人的姓名向他们发送有关您的消息的通知
  • @Akshay!哦,对不起,谢谢!

标签: html css nav navigationbar


【解决方案1】:

您可以使用calc10px 从总宽度中减少(10px = border-width)但您应该尝试box-sizing:border-box,因为浏览器对calc 的支持有限Caniuse

#nav {
    height: 60px;
    font-size: 30px;
    line-height: 60px;
    vertical-align: middle;
    text-align: center;
    background-color: #0080FF;
    width: calc(100%-10px);
    border: 10px solid #16044E;
    border-radius: 20px;
    z-index: 1;
}

#nav ul {
}

#nav li {
    display: inline;
    text-align: center;
    margin: 20px;
}

#nav a {
    color: white;
    text-decoration: none;
}
<ul id="nav">
            <li><a href="">Home</a></li>
            <li><a href="">Courses</a></li>
            <li><a href="">Subjects</a></li>
            <li><a href="">Sign Up</a></li>
            <li><a href="">Log In</a></li>
</ul>

【讨论】:

  • 谢谢。已解决:) - 我还不能给你“这解决了我的问题”。但我会尽快给它:3。
  • @Akshay:你应该添加一个关于当前支持calc()的注释:caniuse.com/#search=calc
【解决方案2】:

您可以使用calc() CSS 函数和回调,以防您需要支持旧版浏览器,这里是current support,您必须将其添加到您的#nav

#nav{
    width: 98%;
    calc(100%-10px);
}

另一种方法是更改​​#nav 元素的box-sizing,因此边框将成为元素宽度的一部分,您可能需要在 CSS 中更新一些规则,但它可以在 IE8+、所有移动设备和所有现代浏览器,这里是caniuse

#nav{
    padding-left: 10px;
    width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

【讨论】:

    【解决方案3】:

    将此添加到您的#nav

    box-sizing: border-box;
    

    这将使您的width: 100%; 也适用于边框部分。

    【讨论】:

      【解决方案4】:

      #nav改成如下:

      更改 width: 100%; width: auto;

      您的#nav 应如下所示:

      #nav {
          height: 60px;
          font-size: 30px;
          line-height: 60px;
          vertical-align: middle;
          text-align: center;
          background-color: #0080FF;
          width: auto;
          border: 10px solid #16044E;
          border-radius: 20px;
          z-index: 1;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-16
        • 1970-01-01
        • 1970-01-01
        • 2022-11-02
        • 2019-03-25
        • 1970-01-01
        相关资源
        最近更新 更多