【问题标题】:navigation bar centering an element next to floated right elements导航栏居中浮动右侧元素旁边的元素
【发布时间】:2017-11-14 07:47:47
【问题描述】:

我的导航栏。

我正在尝试将链接置于我的 navbar 中间。我一直在寻找解决方案,但它只是破坏了我的navbar,即将链接向右移动了几个像素。我知道如果我输入display: block,它会居中,但我右边的物品会被撞掉。这是我目前所拥有的:

.navbar > a.favmovies-title {
  font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", "sans serif";
  font-size: 155%;
  width: 25%;
  float: none;
  text-align: center;
  text-decoration: none;
  background-color: #FF6347;
  color: orange;
}

.navbar {
  height: 100px;
  overflow: hidden;
  background-color: #FF6347;
  padding: 1%;
  position: fixed;
  width: 100%;
}

.navbar > ul > li.right {
  float: right;
}

.navbar > ul > li > a.userlogin {
  font-size: 50%;
}
<div class="navbar">
  <a class="favmovies-title" href="/movies/find_top_rating/1">FavMovies</a>
  <ul>
    <li class="right"><a class="userlogin" href="/users/sign_in">Login</a><span class = "small_font_size"></span></li>
    <li class="right"><a class="userlogin" href="/users/sign_up">Signup</a></li>
    <input class="right" id="Search-Bar" type="text">
    <li class="right" id="Search">search <img src="/assets/icons/searchicon.fw.png" alt="Search" id="SearchIcon"></li>
  </ul>
</div>

我一直在尝试一些显示 flex 属性和转换,但它不起作用。对齐内容属性也没有帮助我。感谢任何提示。

【问题讨论】:

    标签: html css flexbox css-transforms


    【解决方案1】:

    您可以通过在.navbar 上使用text-align: center 使徽标正常居中,并使浮动ul 元素position: absolute 来实现这一点。

    .navbar {
      text-align: center;
    }
    
    .navbar > ul {
      position: absolute;
      top: 0;
      right: 0;
    }
    

    【讨论】:

    • 是的,这行得通。非常感激。仍在学习居中的东西以及何时使用位置:绝对和相对。谢谢大佬!
    【解决方案2】:

    您可以尝试将徽标绝对定位在导航栏的中间。

    尝试将此添加到您的文本徽标样式中:

    .navbar > a.favmovies-title {
      left: 50%;
      position: absolute;
      transform: translateX(-50%);
    }
    

    【讨论】:

    • 唯一的缺点:徽标 img 在大多数屏幕宽度下看起来会很模糊,因为变换...
    • @Savado 如果这确实会导致问题,那么transform: translateX(-50%) translateZ(0); 有时可以解决此问题
    • @Brett East 很棒的提示!对我之前的评论稍作更正:徽标不是 img 而是纯文本。 (虽然纯文本也会出现模糊效果)
    • @shakespeare 别担心,伙计,如果它对你有用,我会喜欢我的回答并“接受”
    • 希望得到一些关于为什么这个答案被否决的反馈?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    相关资源
    最近更新 更多