Przycisk Bootstrap 3.0 na pasku nawigacyjnym

79

Zaktualizowałem teraz bootstrap 3.0. Znacznik „a”, który wygląda jak btn (przy pomocy klasy .btn) jest zniszczony na navbar.

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

Ale to nie działa poprawnie. Myślę, że Bootstrap zmienił system.

Cihan Küsmez
źródło
Naprawdę powinieneś rzucić okiem na sekcję dotyczącą migracji Bootstrap 2 do 3 w dokumentacji. Zawiera listę wszystkich klas, które uległy zmianie lub zostały usunięte i czego użyć w ich miejsce. getbootstrap.com/getting-started/#migration
cjd82187

Odpowiedzi:

176

Owiń <p class="navbar-btn">wokół <a class="btn">:

<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/

Zrzut ekranu:
Przycisk linku Bootstrap na pasku nawigacyjnym

Lachlan Arthur
źródło
1
Dzięki, działa dobrze i bardziej podoba mi się Twoje rozwiązanie, ponieważ nadal możesz korzystać z <a>
pastullo
6
Ostrzegam: zwinięta wersja nie wygląda świetnie. Inne linki są blokami (tzn. Można kliknąć na całą szerokość). Jeśli btn-blockgo użyjesz , wyrównuje tekst centralnie, więc nie pasuje do innych łączy.
rybo111
46

Teraz bootstrap 3 ma przyciski na pasku nawigacyjnym, takie jak ten:

<button type="button" class="btn btn-default navbar-btn">Sign in</button>

Używa, navbar-btnwięc wie, że jest na pasku nawigacyjnym.

Jeśli chcesz, żeby to działało, zrób to:

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

W ten sposób nadal działa jak tag kotwicy. Po prostu zmień #wartość, do której faktycznie chcesz, aby osiągnęła.

W tym przypadku:

<li>
    <form action="<?php echo BASE_PATH; ?>register.php">
        <button class="btn btn-default navbar-btn">Link</button>
    </form>
</li>
Albzi
źródło
1
co powiesz na ? <a type="button" class="btn btn-default navbar-btn"> Link </a> Zanim to zrobimy.
Cihan Küsmez
2
Niestety, w ten sposób, jeśli ścieżka, na którą wskazuje, jest /appadresem URL wyniku /app?(zwróć uwagę na dodatkowy znak zapytania).
hakunin
24

W przypadku bootstrap 3 nadal możliwe jest <a>renderowanie łącza jako przycisku, ale musisz uwzględnić je w pliku <form>. Ponadto, <a>powinna zawierać navbar-btnklasę.

<li>
  <form>
    <a href="#" class="btn btn-primary btn-sm navbar-btn">
      register
    </a>
  </form>
</li>
megar
źródło
15
Dzięki za podpowiedź. Właściwie znalazłem również <div>prace, zamiast <form>których nie jest semantyczne. Kluczem nie jest zrobienie abezpośredniego dziecka <li>.
Billy Chan
1
Czy jednak zawisł kursor, kiedy to robisz? Tło przycisku jest dla mnie przezroczyste.
RichC
1
Rozwiązanie <div> działa dla mnie. Szkoda, że ​​jest to obsługiwane natywnie we frameworku, widziałem też wiele dyskusji na Githubie wokół tego i nie sądzę, że mają jakiekolwiek plany, aby przyciski linków działały natywnie, co wydaje mi się złym wyborem.
SirRawlins
21

Problem polega na tym, że selektor do stylizacji kotwicy w pasku nawigacyjnym to: .nav > li > aco oznacza, że ​​ma wyższy priorytet niż .navbar-btn.

Możesz to naprawić, po prostu zawijając go w inny tag, np. Rozpiętość. Myślę, że nie powinieneś używać tagu formularza, jak sugerują inni, ponieważ w ogóle nie jest to formularz.

Intellix
źródło
2
zdecydowanie najlepsza odpowiedź.
typoneerror,
0

http://learnangular2.com/events/

OBIEKT WYDARZENIA

Aby przechwycić obiekt zdarzenia, przekaż $ event jako parametr w wywołaniu zwrotnym zdarzenia z szablonu:

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

Jest to łatwy sposób na zmodyfikowanie zdarzenia, na przykład wywołanie PreventDefault:

@Component(...)
class MyComponent {
  clicked(event) {
    event.preventDefault();
  }
}
victorhazbun
źródło
To ... uhm. Co?
Adowrath