使用Zurb Foundation在Top-Bar中使用Postfix按钮输入

时间:2012-10-27 09:58:12

标签: javascript css zurb-foundation

我正在尝试使用Zurb-Foundation在我的Top-Bar中获得带有Postfix按钮的文本输入,如下所述:http://foundation.zurb.com/docs/navigation.php#btopCode

但是,使用以下代码时,按钮始终位于输入下方:

<nav class="top-bar">
    <ul>
        <li class="name"><h1>Home</h1></li>
        <li class="toggle-topbar"><a href="#"></a></li>
    </ul>
    <section>

        <ul class="left">
            <li class="search">
                <form class="collapse">
                    <input type="text">
                    <button type="submit" class="secondary radius button">Search</button>
                </form>
            </li>

            <li class="has-dropdown">
                <a href="#">Item1</a>

                <ul class="dropdown">
                    <li><a href="#">Sub1</a></li>
                    <li><a href="#">Sub2</a></li>
                    <li><a href="#">Sub3</a></li>
                </ul>
            </li>
        </ul>
    </section>
</nav>
像这样: enter image description here

4 个答案:

答案 0 :(得分:2)

我有同样的问题,如果您查看文档,您将看到如何正确实现它。

它位于示例代码段的底部:

  <li class="has-form">
    <form>
      <div class="row collapse">
        <div class="small-8 columns">
          <input type="text">
        </div>
        <div class="small-4 columns">
          <a href="#" class="alert button">Search</a>
        </div>
      </div>
    </form>
  </li>
  <li class="divider show-for-small"></li>
  <li class="has-form">
    <a class="button" href="#">Button!</a>
  </li>
</ul>

答案 1 :(得分:1)

对于基金会5,这就是我解决问题的方法:

nav.top-bar {
    $height: 1.8rem;
    $textFontSize: 0.8rem;

    .prefix, .postfix {
        /* So even though you can embed forms in the top nav, they get jankified.
           WOW.  This is kinda lame. */
        height: $height;
        line-height: $height;
        font-size: $textFontSize;

        i { 
            font-size: 0.8rem;
        }
    }

    .prefix {
        margin-top: 7px; 
    }

    .postfix {
        padding: 0;
    }

    input {
        font-size: $textFontSize;
        height: $height;
    }

答案 2 :(得分:0)

尝试将表单放在下拉列表中。我不认为它会直接在导航栏上工作。这在网站上没有很好地记录,可以使用一些改进。

 <nav class="top-bar">
        <ul>
            <li class="name"><h1>Home</h1></li>
            <li class="toggle-topbar"><a href="#"></a></li>
        </ul>
        <section>

            <ul class="left">
               <li class="has-dropdown">
                   <a href="#">Search</a>
                       <ul class="dropdown">
                           <li class="search">
                                <form>
                                  <input type="search">
                                  <button type="submit" class="secondary radius button">Search</button>
                                </form>
                           </li>
                       </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Item1</a>
                    <ul class="dropdown">
                        <li><a href="#">Sub1</a></li>
                        <li><a href="#">Sub2</a></li>
                        <li><a href="#">Sub3</a></li>
                    </ul>
                </li>
            </ul>
        </section>
    </nav>

答案 3 :(得分:0)

我遇到了与你Search input in top-bar foundation cut off相同的问题,并设法让它在一段时间之后通过将所有内容浮动到左边并添加一些!important和输入来使其工作。 我在基础文档中发现的内容并没有帮助,但无论如何,这就是诀窍:

.left .search .button { float:left; width:50px; margin-left:5px;}
.search input {width:200px;float:left;top:5px;}
.search form {float:left !important; width:450px !important;}