【问题标题】:Bootstrap 3.0 Button in Navbar导航栏中的 Bootstrap 3.0 按钮
【发布时间】:2013-09-17 23:46:39
【问题描述】:

我现在升级了 bootstrap 3.0。并且看起来像 btn 的“a”标签(在 .btn 类的帮助下)在导航栏上被破坏了。

<li>
   <a href="<?php echo BASE_PATH; ?>register.php" class="btn btn-primary btn-sm">
       <?php echo "<strong>" . _('Bayilik Başvurusu') . "</strong>"; ?>
   </a>
</li>

但它无法正常工作。我认为 Bootstrap 改变了系统。

【问题讨论】:

标签: css twitter-bootstrap-3


【解决方案1】:

现在,bootstrap 3 在导航栏中有如下按钮:

&lt;button type="button" class="btn btn-default navbar-btn"&gt;Sign in&lt;/button&gt;

它使用navbar-btn,所以它知道它在导航栏中。

如果你想让它工作,这样做:

<li>
    <form action="#">
        <button class="btn btn-default navbar-btn">Link</button>
    </form>
</li>

这样,它仍然像一个锚标记。只需将 # 更改为您实际希望它达到的值。

所以对于这个例子:

<li>
    <form action="<?php echo BASE_PATH; ?>register.php">
        <button class="btn btn-default navbar-btn">Link</button>
    </form>
</li>

【讨论】:

  • 怎么样? Link 在此之前。
  • 不幸的是,如果它指向的路径是/app,那么结果url是/app?(注意额外的问号)。
【解决方案2】:

使用 bootstrap 3,仍然可以将 &lt;a&gt;link 呈现为按钮,但您必须将它们包含在 &lt;form&gt; 中。此外,&lt;a&gt; 应包含 navbar-btn 类。

<li>
  <form>
    <a href="#" class="btn btn-primary btn-sm navbar-btn">
      register
    </a>
  </form>
</li>

【讨论】:

  • 感谢您的提示。实际上我发现&lt;div&gt; 也可以工作,而不是&lt;form&gt; 这不是语义的。关键是不要让a 成为&lt;li&gt; 的直接子代。
  • 但是,当您执行此操作时,悬停是否搞砸了?按钮的背景对我来说是透明的。
  • 解决方案对我有用。遗憾的是,这在框架中得到了原生支持,我也在 Github 上看到了很多关于它的讨论,并且不认为他们有任何计划让链接按钮原生工作,这对我来说似乎是一个糟糕的选择。
【解决方案3】:

问题在于,用于在导航栏中设置锚点样式的选择器是:.nav &gt; li &gt; a,这意味着它的优先级高于 .navbar-btn。

您可以通过将其包装在另一个标签(如跨度)中来修复。我认为您不应该像其他人建议的那样使用表单标签,因为它根本不是表单。

【讨论】:

  • 绝对是最佳答案。
【解决方案4】:

&lt;p class="navbar-btn"&gt; 包裹在&lt;a class="btn"&gt; 周围:

<nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <ul class="nav navbar-nav">
            <li>
                <p class="navbar-btn">
                    <a href="#" class="btn btn-default">I'm a link button!</a>
                </p>
            </li>
        </ul>
    </div>
</nav>

JSFiddle:http://jsfiddle.net/lachlan/398kj/

截图:

【讨论】:

  • 谢谢,效果很好,我更喜欢你的解决方案,因为你仍然可以使用
  • 警告:折叠版本看起来不太好。其他链接是块(即全角是可点击的)。如果您使用btn-block,它会将文本居中对齐,因此不会匹配其他链接。
【解决方案5】:

http://learnangular2.com/events/

事件对象

要捕获事件对象,请在模板的事件回调中将 $event 作为参数传递:

<button (click)="clicked($event)"></button>

这是修改事件的简便方法,例如调用 preventDefault:

@Component(...)
class MyComponent {
  clicked(event) {
    event.preventDefault();
  }
}

【讨论】:

  • 这……嗯。什么?
猜你喜欢
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 2013-10-17
  • 2015-03-13
  • 2014-02-27
相关资源
最近更新 更多