为什么我的注销 link 超出了屏幕边缘?

Why is my log out link going off the edge of the screen?

我正在尝试将导航 link 右对齐到我的 header 部分的右侧。所以我创建了

          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">My Subscriptions</a></li>
            <li><a href="#">Help</a></li>
            <li><a rel="nofollow" data-method="delete" href="/logout">Log Out</a></li>
          </ul>

并添加了这种风格

header ul {
  float: right;
  list-style: none;
}

header ul li {
  float: left;
  margin-left: 15px;
}

但是我的注销 link 超出了屏幕边缘 — https://jsfiddle.net/p2rwgfjc/。我怎样才能修改它以使所有文本都保留在屏幕上?

只需将 margin-right: 15px 添加到您的 header ul

header ul {
  float: right;
  list-style: none;
  margin-right: 15px;
}

Fiddle: https://jsfiddle.net/og165aky/

我认为当你浮动某些东西时,你必须也浮动它的父元素,否则你浮动的元素离开其他 html 元素结构并成为一个单独的元素浮动。

所以浮动父元素,给它一个none的浮动,或者继承。

原因是block的宽度包含了默认的padding,而你设置了header的100%宽度,所以header的总宽度大于100%,超出了屏幕的边缘。 所以你应该清除块的默认边距和填充。 最方便的方法是通过 * {padding: 0, margin: 0}。 希望这个回答能帮到您!

  1. 忘记浮动。
  2. 注意包装宽度。
  3. 在包装器上使用 flex。
  4. 在您的 UL 上使用 flex。

header{
    box-shadow: none;
    background: #44505d;
    border-bottom: none;
    height: 73px;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
}

.wrapperLogo{
width:30%;}

header nav{
width:70%;}


#logo {
  font-size: 1.7em;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -1px;
  padding-top: 9px;
  font-weight: bold;
}


#logo:hover {
  color: #fff;
  text-decoration: none;
}

header ul {
  list-style: none;
  display:flex;
  justify-content:space-around;
}
<header id="branding" class="clearFix">
  <div class="wrapperLogo">
    <a id="logo" href="#">sample app</a>
  </div>
 <nav>
   <ul class="nav navbar-nav navbar-right">
    <li><a href="#">My Subscriptions</a></li>
    <li><a href="#">Help</a></li>
    <li><a rel="nofollow" data-method="delete" href="/logout">Log Out</a></li>
   </ul>
 </nav>
</header>

当然不完美。您还需要修改移动视图。像字体和宽度和高度。等等

看看这个

 header ul {
      list-style: none;
      display:flex;
      justify-content:space-around;
    }

你可以修改它而不证明内容或者你也可以删除它并用你以前的css header ul li {margin-left:15px}