Nút Bootstrap 3.0 trong Navbar


79

Tôi đã nâng cấp bootstrap 3.0 ngay bây giờ. Và thẻ "a" trông giống như btn (bởi sự trợ giúp của lớp .btn) bị hủy trên thanh điều hướng.

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

Nhưng nó không hoạt động chính xác. Bootstrap đã thay đổi hệ thống mà tôi nghĩ.


Bạn thực sự nên xem phần di chuyển Bootstrap 2 đến 3 của tài liệu. Nó liệt kê tất cả các lớp đã thay đổi hoặc bị loại bỏ và những gì sẽ sử dụng ở vị trí của chúng. getbootstrap.com/getting-started/#migration
cjd82187

Câu trả lời:


176

Quấn <p class="navbar-btn">quanh <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/

Ảnh chụp màn hình:
Nút liên kết Bootstrap trong thanh điều hướng


1
Cảm ơn, làm việc tốt và tôi như giải pháp của bạn tốt hơn là bạn vẫn có thể sử dụng <a>
pastullo

6
Được cảnh báo: phiên bản thu gọn trông không đẹp. Các liên kết khác là các khối (tức là toàn chiều rộng có thể nhấp được). Nếu bạn sử dụng btn-blocknó sẽ căn chỉnh văn bản một cách trung tâm, vì vậy nó không khớp với các liên kết khác.
rybo111

46

Bây giờ, bootstrap 3 có các nút trên thanh điều hướng như sau:

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

Nó sử dụng navbar-btnđể nó biết nó trong thanh điều hướng.

Nếu bạn muốn nó hoạt động, hãy làm như sau:

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

Bằng cách này, nó vẫn hoạt động giống như một thẻ neo. Chỉ cần thay đổi #giá trị mà bạn thực sự muốn nó chuyển đến.

Vì vậy, đối với trường hợp này:

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

1
Thế còn ? <a type="button" class="btn btn-default navbar-btn"> Liên kết </a> Trước khi chúng tôi có thể làm điều đó.
Cihan Küsmez

2
Thật không may, theo cách này nếu đường dẫn mà nó trỏ đến là /appurl kết quả /app?(lưu ý thêm dấu hỏi).
hakunin

24

Với bootstrap 3, vẫn có thể có một <a>liên kết được hiển thị dưới dạng một nút, nhưng bạn phải đưa chúng vào một <form>. Ngoài ra, <a>nên bao gồm cả navbar-btnlớp.

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

15
Cảm ơn vì gợi ý. Trên thực tế, tôi cũng tìm thấy <div>các tác phẩm, thay vì <form>nó không có ngữ nghĩa. Điều quan trọng là không tạo ra amột đứa con trực tiếp của <li>.
Billy Chan

1
Tuy nhiên, di chuột có bị rối khi bạn làm điều này không? Đối với tôi, nền cho nút sẽ trong suốt.
RichC

1
Giải pháp <div> phù hợp với tôi. Tuy nhiên, thật đáng tiếc khi điều này được hỗ trợ nguyên bản trong khuôn khổ, tôi cũng đã thấy nhiều cuộc thảo luận trên Github về nó và không nghĩ rằng họ có bất kỳ kế hoạch nào để làm cho các nút liên kết hoạt động nguyên bản, điều này đối với tôi có vẻ là một lựa chọn tồi.
SirRawlins

21

Vấn đề là bộ chọn để tạo kiểu neo trong thanh điều hướng là: .nav > li > acó nghĩa là nó có mức độ ưu tiên cao hơn .navbar-btn.

Bạn có thể khắc phục bằng cách chỉ gói nó trong một thẻ khác như một khoảng. Tôi không nghĩ bạn nên sử dụng thẻ biểu mẫu như những người khác đề xuất vì nó hoàn toàn không phải là biểu mẫu.


2
chắc chắn là câu trả lời tốt nhất.
typeoneerror.

0

http://learnangular2.com/events/

ĐỐI TƯỢNG SỰ KIỆN

Để nắm bắt đối tượng sự kiện, hãy chuyển $ event làm tham số trong lệnh gọi lại sự kiện từ mẫu:

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

Đây là một cách dễ dàng để sửa đổi sự kiện, chẳng hạn như gọi hàm PreventDefault:

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

Cái này ... uhm. Gì?
Adowrath
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.