Làm nút đi toàn chiều rộng?


276

Tôi muốn một nút để chiếm toàn bộ chiều rộng của cột, nhưng gặp khó khăn ...

<div class="span9 btn-block">
    <button class="btn btn-large btn-block btn-primary" type="button">Block level button</button>
</div>

Làm cách nào để làm cho nút rộng bằng cột?


2
Cột nào? CSS ở đâu?
JJJ

Vì vậy, tôi đang sử dụng Twitter-bootstrap
user1438003

1
Bạn đã thử style="width:100%"chưa Hoặc đặt nó vào một trong các lớp học của bạn?
Lee Taylor

2
Điều đó có thể bởi vì nó có một số lề hoặc cột có một số phần đệm.
Ohad

4
Các btn-blocklớp học làm việc cho tôi như bạn mong đợi ở BS3
fguillen

Câu trả lời:


826

Bootstrap v3 & v4

Sử dụng btn-blocklớp trên nút / phần tử của bạn

Bootstrap v2

Sử dụng input-block-levellớp trên nút / phần tử của bạn


13
Đối với các nhóm nút, bạn cũng cần thêm btn-blockvào btn-grouptrình bao bọc.
Jesse

1
đã thử nghiệm với bootstrap V3 và "btn-block" hoạt động với tôi
Buddhaika Alwis

Tôi đang sử dụng tương tự nhưng không mở rộng <div class = "btn-group"> <button id = "btnSearch" class = "btn-block"> Tìm kiếm </ button> </ div>
Samra

Cổ vũ người bạn đời! đây phải là câu trả lời
Nicholas

39

Tại sao không sử dụng lớp Bootstrap được xác định trước input-block-levelmà thực hiện công việc?

<a href="#" class="btn input-block-level">Full-Width Button</a> <!-- BS2 -->
<a href="#" class="btn form-control">Full-Width Button</a> <!-- BS3 -->

<!-- And let's join both for BS# :) -->
<a href="#" class="btn input-block-level form-control">Full-Width Button</a>

Tìm hiểu thêm ở đây trong phần Điều khiển kích thước ^ .


2
@fguillen Không sử dụng BS nữa mà thử dùng form-controllớp. Nó xuất hiện để làm cho mọi thứ rộng 100% trong các mẫu.
CodeAngry

@CodeAngry chỉ tò mò, tại sao bạn không sử dụng BS nữa (bên cạnh sự tức giận mã có thể xảy ra;)?
K. Kilian Lindberg

2
@CarlLindberg Mình tự lăn! BS tốt cho một sự thay đổi nhanh chóng nhưng ... nó không nổi bật.
CodeAngry

1
@CodeAngry, Thật tuyệt vời khi bạn tự tạo ra khuôn khổ của riêng mình - nhưng có thể đáng để sử dụng con lăn chủ đề - dù bằng cách nào, đạo cụ cũng tự làm điều đó!
Cody

Kể từ bs4, câu trả lời của @Layke có vẻ cập nhật hơn và bao gồm bs 2, 3 và 4. Không có tùy chọn nào ở trên làm bất cứ điều gì hữu ích cho tôi trên bs4. Xin lỗi vì đã trò chuyện với điều này, nhưng câu trả lời được chấp nhận không có vẻ là một ý tưởng hay và điều này có vẻ không được chấp nhận.
JL Peyret

26

Tôi chỉ đơn giản là sử dụng điều này:

<div class="col-md-4 col-sm-4 col-xs-4">
<button type="button" class="btn btn-primary btn-block">Sign In</button>
</div>

1
Đây là cách để làm điều đó với btn-lg. kiểm soát hình thức không hoạt động.
Mark Swardstrom

14

Bootstrap 4.1+

sử dụng col-12, btn-block, w-100hoặcform-control

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>

<div class="row no-gutters">
     <div class="col">
         <button class="btn btn-success col-12">
             class="col-12"
         </button>
     </div>
</div>

<br>

<div class="row no-gutters">
     <div class="col">
         <button class="btn btn-primary w-100">
             class="w-100"
         </button>
     </div>
</div>

<br>

<div class="row no-gutters">
     <div class="col">
         <button class="btn btn-secondary btn-block">
             class="btn-block"
         </button>
     </div>
</div>

<br>

<div class="row no-gutters">
     <div class="col">
         <button class="btn btn-success form-control">
             class="form-control"
         </button>
     </div>
</div>

<br>

<div class="row no-gutters">
     <div class="col">
         <button class="btn btn-danger" style="width:100%">
             style="width:100%"
         </button>
     </div>
</div>


12

sử dụng

<div class="btn-group btn-group-justified">
  ...
</div>

nhưng nó chỉ hoạt động cho các phần tử <a> chứ không phải <button>.

xem: http://getbootstrap.com/components/#btn-groups-justified


1
Câu hỏi là về các nút không phải btn-grouplà s, có một câu trả lời được chấp nhận hơn đề cập đến btn-blocklớp của Layke.
Hans

9

Bạn nên thêm các kiểu này vào một bảng CSS

div .no-padding {
  padding:0;
}

button .full-width{
  width:100%;
  //display:block; //only if you're having issues
}

Sau đó thay đổi thêm các lớp vào mã của bạn

<div class="span9 btn-block no-padding">
    <button class="btn btn-large btn-block btn-primary full-width" type="button">Block level button</button>
</div>

Tôi chưa thử nghiệm điều này và tôi không chắc chắn 100% những gì bạn muốn, nhưng tôi nghĩ rằng điều này sẽ giúp bạn gần gũi.


Tôi đã sửa một lỗi đánh máy trong mã của mình, đáng lẽ phải là div thay vì span trong mục css hàng đầu. Bạn có thể xác nhận các phong cách đang được áp dụng? Độ rộng của nút có thay đổi gì không?
Kenny Bania

6
btn-blocklà thuộc tính đã cứu tôi! Đã kéo tóc của tôi ra .. Bây giờ tôi quay trở lại và tìm kiếm twitter.github.io/bootstrap/base-css.html#buttons , thuộc tính đã được ghi nhận ở đó - doh;)
GONeale

6

Tôi đã nghĩ rằng đây sẽ là cách làm bootstrap-esque nhất:

<button type='button' class='btn btn-success col-xs-12'> First buttton baby </button>

Tất cả những gì tôi đang làm là thêm lớp col-xs-12vào nút.


5
<div class="col-md-9">
    <button class="btn btn-block btn-primary" type="button">Block level button</button>
</div>

Trong Bootstrap 3, đây sẽ là tất cả những gì bạn cần. Tôi tin rằng btn-largeđã vượt qua chiều rộng của btn-block.


1

Độ rộng của nút được xác định bởi văn bản nút. Vì vậy, nếu bạn muốn xác định chiều rộng của nút, bạn có thể sử dụng chiều rộng được xác định bằng cách sử dụng pixel trong css hoặc nếu bạn muốn bằng phản hồi, hãy sử dụng giá trị phần trăm.

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.