【问题标题】:Search Box within Navigation bar alignment issue导航栏对齐问题中的搜索框
【发布时间】:2014-01-16 03:53:39
【问题描述】:

嘿,我只是在学习编程,我试图让我的搜索栏始终以右侧的导航链接居中 - 在固定导航栏中。我似乎无法让它工作。这是我的html和css。感谢您的帮助!

<div id ="nav">
  <div id ="navigation">
    <container id= "search">
      <form class="form-wrapper cf">
        <form action ='./search.php' method='get'>
          <input type="text" placeholder="" required>
            <button type="submit"><img class= "icon" src="images/search-icon.png"></button>
        </form>
      </container>

      <div>
        <a href="#">Home</a>
        <a href="#">About</a>
        <a href="#">Contact</a>
        <a href="#">Login</a>
      </div>
    </div>  
</div>

还有我的 CSS:

#nav {
  display: block;
  position: fixed;
  top: 0;
  width: 100%;
  height: 28px;
  padding: 12px 0px 0px 0px;background: #4c4c4c; /* Old browsers */
  background: #4c4c4c; /* Old browsers */
  background: -moz-linear-gradient(top, #4c4c4c 0%, #1c1c1c 90%, #131313 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4c4c4c), color-stop(90%,#1c1c1c), color-stop(100%,#131313)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #4c4c4c 0%,#1c1c1c 90%,#131313 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #4c4c4c 0%,#1c1c1c 90%,#131313 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #4c4c4c 0%,#1c1c1c 90%,#131313 100%); /* IE10+ */
  background: linear-gradient(to bottom, #4c4c4c 0%,#1c1c1c 90%,#131313 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313',GradientType=0 ); /* IE6-9 */

  /* Adds shadow to the bottom of the bar */
  -webkit-box-shadow: 0px 0px 8px 0px #000000;
  -moz-box-shadow: 0px 0px 8px 0px #000000;
  box-shadow: 0px 0px 8px 0px #000000;

  /* Adds the transparent background */
  background-color: rgba(1, 1, 1, 0.8);
  color: rgba(1, 1, 1, 0.8);
}

#nav a { 
  font-size: 12px;
  padding-right: 60px;
  color: white;
    text-decoration: none;
  }

  #nav a:hover {
    color: grey;
  }

  #navigation { 
    display: inline;
    text-align: center;
  }

  #search {
    position: absolute;
    top: 5px;
  }

【问题讨论】:

  • 您有两个嵌套的表单元素。为什么?
  • 我试图将搜索栏放在中间,同时将链接放在页面右侧,但似乎无法正常工作。

标签: html css navigation searchbar center-align


【解决方案1】:

首先,我从未听说过容器标签,除非我遗漏了什么。 其次,您不能将表单包装到表单上。所以拿出包装表格。另外,带有 action 和 method 属性的表单标签没有结束标签,所以包含它。

 <div id="navigation">
       <form class="nav-form">
         <input type="text" required>
         <button type="submit">Submit</button>
       </form>
       <nav>
          <ul>
             <li><a href="#">Home</a></li>
             <li><a href="#">Home2</a></li>
             <li><a href="#">Home3</a></li>
             <li><a href="#">Home4</a></li>
         </ul>
       </nav>
    </div>

然后包含这个 css

#navigation {
       top:0;
       position:fixed;
       display:block;
       width:100%;
       height:28px;
}
.nav-form{
     margin:0 auto;
     float:left;
}
nav {
float:left;
}
nav ul li {
float:left;
list-style-type:none;
text-decoration:none;
}

希望这会有所帮助。 margin:0 auto 可能存在无法居中的问题。如果发生这种情况,请执行以下操作:

margin-left;auto;
margin-right:auto;

或者如果这不起作用:

margin-left:50%;

您可以在之后添加背景和内容,并且可以根据需要更改 css。我只是按照它应该工作的方式完成了它

【讨论】:

    【解决方案2】:

    我会将搜索表单移动到导航菜单的中间。看看这个小提琴:http://jsfiddle.net/DJa25/8/

    <div id ="nav">
    
    <div id ="navigation">
    
    <div>
        <a href="#">Home</a>
        <a href="#">About</a>
        <container id= "search">
        <form class="form-wrapper cf">
            <form action ='./search.php' method='get'>
             <input type="text" placeholder="" required>
            <button type="submit"><img class= "icon" src="images/search-icon.png"></button>
        </form>
    </container>
        <a href="#">Contact</a>
        <a href="#">Login</a>
    
    </div>
    
    </div>
    
    #search {
      display: inline-block;
     }
    

    【讨论】:

    • 我试过这个,但现在似乎元素悬挂在导航栏外的下方。我真的希望搜索栏居中,而链接位于其右侧,有点像 twitter 导航栏。我仍在修补它,希望我可以让它工作。不过感谢您的洞察力!
    猜你喜欢
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2021-09-18
    • 2015-01-10
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多