Thêm khoảng trắng dọc bằng Twitter Bootstrap?


162

Cách tốt nhất để thêm khoảng trắng dọc bằng Bootstrap của Twitter là gì?

Ví dụ: giả sử tôi đang tạo một trang đích và muốn một chút (100px) khoảng trắng trống ở trên và dưới một nút nhất định. Rõ ràng, tôi có thể tạo một lớp nhất định cho nút cụ thể đó. Nhưng, tôi sẽ nghĩ rằng Bootstrap nên có cách DRY để thêm vào các khoảng trống dọc.

Câu trả lời:


39

Trong Bootstrap 4 có các khoảng cách sử dụng .

Trích dẫn tài liệu cho ký hiệu được sử dụng :

Các tiện ích khoảng cách áp dụng cho tất cả các điểm dừng, từ xsđến xl, không có chữ viết tắt điểm dừng trong đó. Điều này là do các lớp đó được áp dụng từ min-width: 0và lên, và do đó không bị ràng buộc bởi một truy vấn phương tiện. Các điểm dừng còn lại, tuy nhiên, bao gồm viết tắt điểm dừng.

Các lớp học được đặt tên sử dụng định dạng {property}{sides}-{size}cho xs{property}{sides}-{breakpoint}-{size}cho sm, md, lg, và xl.

Trường hợp tài sản là một trong:

  • m - cho các lớp đã đặt margin
  • p - cho các lớp đã đặt padding

Trường hợp các bên là một trong:

  • t- cho các lớp đã đặt margin-tophoặcpadding-top
  • b- cho các lớp đã đặt margin-bottomhoặcpadding-bottom
  • l- cho các lớp đã đặt margin-lefthoặcpadding-left
  • r- cho các lớp đã đặt margin-righthoặcpadding-right
  • x- cho các lớp đặt cả hai *-left*-right
  • y- cho các lớp đặt cả hai *-top*-bottom
  • để trống - cho các lớp đặt một marginhoặc paddingtrên cả 4 mặt của phần tử

Trong đó kích thước là một trong:

  • 0 - đối với các lớp loại bỏ lề hoặc phần đệm bằng cách đặt nó thành 0
  • 1- (theo mặc định) cho các lớp học mà thiết lập marginhoặc paddingđể$spacer * .25
  • 2- (theo mặc định) cho các lớp học mà thiết lập marginhoặc paddingđể$spacer * .5
  • 3- (theo mặc định) cho các lớp học mà thiết lập marginhoặc paddingđể$spacer
  • 4- (theo mặc định) cho các lớp học mà thiết lập marginhoặc paddingđể$spacer * 1.5
  • 5- (theo mặc định) cho các lớp học mà thiết lập marginhoặc paddingđể$spacer * 3

Vì vậy, để có thêm một số không gian dọc bên trên và bên dưới một phần tử, bạn sẽ sử dụng my-5lớp.


3
Bạn có thể cho một ví dụ về một chuỗi lớp hợp lệ?
Hẻm núi Kolob

Đẹp! Điều đó thật tuyệt.
Tiki

51

Trong v2, không có bất kỳ thứ gì được tích hợp cho nhiều không gian theo chiều dọc đó, vì vậy bạn sẽ muốn gắn bó với một lớp tùy chỉnh. Đối với chiều cao nhỏ hơn, tôi thường chỉ cần ném <div class="control-group">một nút xung quanh.


8
hoặc <div class = "btn-thanh công cụ">
dyurkavets

9
Cảm ơn. Bây giờ tôi đã tạo ra một số lớp spacer10, spacer50, vv để sử dụng. Tôi thấy đã có một yêu cầu tính năng trong github cho việc này rồi: bit.ly/R9oap9
Ryan

1
@Ryan: Nice, không thấy yêu cầu kéo. Tôi hơi mâu thuẫn với nó. Bootstrap gần như hoàn toàn mang tính trình bày (và thuận tiện), nhưng nếu bạn nheo mắt đủ mạnh để bỏ qua tất cả các HTML bổ sung, bạn có thể rút ra ngữ nghĩa từ nó. Khoảng cách dọc hoàn toàn mang tính trình bày, vì vậy tôi nghĩ rằng nó được thực hiện tốt nhất với một lớp / ID tùy chỉnh.
jmdeldin

2
Điều này là cho v2, nhưng có vẻ như v3 đã giảm thiểu khoảng cách xung quanh .btn-toolbar, vì vậy bạn chỉ nên thêm một lớp mới với lề của riêng bạn.
jmdeldin

3
Rõ ràng yêu cầu tính năng github đã bị đóng và tính năng này có thể được đưa vào Bootstrap v4. bit.ly/R9oap9
Ryan

48

Bao bọc hoạt động nhưng khi bạn chỉ muốn một không gian, tôi thích:

<div class="col-xs-12" style="height:50px;"></div>

16
Thêm một kiểu nội tuyến khi làm việc với Bootstrap thường không phải là một ý tưởng tốt. Nó ít nhất nên đi vào CSS.
alexykot

2
lưu ý rằng "col-xs-12" hoàn toàn giống với việc không có lớp học nào cả
Soldeplata Saketos

34

Xin lỗi để đào một ngôi mộ cũ ở đây, nhưng tại sao không làm điều này?

<div class="form-group">
    &nbsp;
</div>

Nó sẽ thêm một khoảng trống chiều cao của một phần tử dạng bình thường.

Có vẻ như khoảng 1 dòng trên một biểu mẫu là khoảng 50px (47px trên phần tử của tôi tôi vừa kiểm tra). Đây là một hình thức ngang, với nhãn ở bên trái 2col và đầu vào bên phải 10col. Vì vậy, pixel của bạn có thể thay đổi.

Vì của tôi về cơ bản là 50px, tôi sẽ tạo ra một miếng đệm cao 50px mà không có lề hoặc phần đệm;

.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>

1
Điều này thêm không gian bên dưới nhóm nhưng không ở trên
icc97

Tất nhiên là có, đó chính xác là những gì anh ta yêu cầu, một cách để thêm một khoảng trống dọc. Nếu bạn cần nhóm biểu mẫu hoặc hàng tùy chỉnh hoặc thậm chí một nút, hãy tạo lớp của riêng bạn để thêm vào đó, ghi đè lên lề. Ví dụ: class = "hình thức nhóm cách nhau-nhóm" và" .spaced nhóm .. Nó chỉ chung css-cảm giác {margin-top:: 15px quan trọng;; margin-bottom 15px quan trọng!}..
Wade

OP đặc biệt hỏi: "một chút (100px) khoảng trắng trống bên trên và bên dưới một nút nhất định"
icc97

1
Không, đó là một ví dụ, không phải câu hỏi của anh ấy. Câu hỏi của anh là "Cách tốt nhất để thêm không gian trống dọc bằng Bootstrap của Twitter là gì?" - một không gian trống dọc khác với lề trên một yếu tố cụ thể. Nếu anh ta đang làm điều đó cho tất cả các nút, anh ta có thể thay đổi lề của btn hoặc tạo lớp riêng của mình như "btn-spained" với lề mong muốn của anh ta. Nếu anh ta chỉ muốn một cách để thêm một khoảng trống bất cứ nơi nào anh ta muốn, một miếng đệm có chiều cao cố định như tôi đã trả lời là những gì anh ta cần. Anh ta hỏi một câu, và đưa ra một ví dụ về câu hỏi khác. Tôi cho rằng anh ta biết CSS đủ để biết anh ta có thể ghi đè lên lề.
lội qua

Vì anh ấy đã nói một phương thức DRY và nút, sau đó tôi sẽ tạo một lớp nút với các lề tôi muốn: btn cách nhau. Nếu nó không chỉ dành cho các nút thì một lề chung sẽ áp dụng cho các hàng, nhóm biểu mẫu, bất cứ điều gì. Giống như class = "row space-small" hoặc class = "form-group space-Medium" .. Trong đó phương tiện nhỏ và lớn chỉ là biến thể của lề và có thể được áp dụng cho hầu hết mọi thứ. - khó để nói mà op muốn. Chỉ dành cho các nút hoặc chỉ cho bất kỳ yếu tố nào ..
Wade

24

Tôi biết điều này đã cũ, nhưng tôi đến đây để tìm kiếm điều tương tự, tôi thấy rằng Bootstrap có khối trợ giúp, rất tiện dụng cho những tình huống này:

<div class="help-block"></div>

21

Đối với phiên bản 3 dường như không có cách "bootstrap" để đạt được điều này một cách gọn gàng.

A panel, a wellform-grouptất cả cung cấp một số khoảng cách dọc.

Rõ ràng, một giải pháp khoảng cách dọc cụ thể chính thức hơn là trên lộ trình cho bootstrap v4

https://github.com/twbs/bootstrap/issues/4286#issuecomment-36331550 https://github.com/twbs/bootstrap/issues/13532


5
.form-group có vẻ là sự lựa chọn tốt nhất vì css bị giới hạn ở lề-dưới: 15px. .well và .panel không nên được sử dụng nếu bạn chỉ muốn thêm một số khoảng cách vì chúng có các thuộc tính khác (chẳng hạn như nền, phần đệm, đường viền, v.v.)
xaa

9

Tôi chỉ tạo ra một lớp div bằng nhiều độ cao khác nhau

<div class="divider-10"></div>

CSS là:

.divider-10 {
    width:100%; 
    min-height:1px; 
    margin-top:10px; 
    margin-bottom:10px;  
    display:inline-block; 
    position:relative;
}

Chỉ cần tạo một lớp chia cho những gì cần độ cao.


8

Thủ thuật của tôi. Không thanh lịch, nhưng nó hoạt động:

<p>&nbsp;</p>

2
@JayKilleen +1 Bạn nên đăng nó dưới dạng câu trả lời. Có lẽ mọi người đang trở nên phụ thuộc vào các khuôn khổ và đã bắt đầu quên đi những điều cơ bản.
ADJenks

5

Chỉ cần sử dụng <br/>. Tôi thấy mình ở đây đang tìm kiếm câu trả lời cho câu hỏi này và sau đó cảm thấy thật ngớ ngẩn vì không nghĩ đến việc sử dụng ngắt dòng đơn giản như đề xuất của người dùng JayKilleen trong một bình luận.


Nhược điểm là bạn không có được điều khiển chính xác 100px, nhưng chắc chắn nó sẽ hoạt động để thêm một lượng không gian hợp lý.
mix3d

1
@ mix3d, bạn ở ngay đó, lúc đầu tôi không để ý rằng anh ấy quan tâm đến việc nó chính xác là 100px. Tôi nghĩ anh ấy chỉ muốn một chút ". Anh ấy chắc chắn có thể làm cho lớp người trợ giúp của riêng mình như mọi người đề nghị. Nhưng vì bài đăng này đã rất nhiều năm tuổi, giờ đây anh ta có thể nâng cấp lên bootstrap 4 để có khoảng cách chính xác hoặc lấy các lớp trợ giúp từ nó.
ADJenks

5

Tôi biết điều này đã cũ và có một số giải pháp tốt đã được đăng, nhưng một giải pháp đơn giản phù hợp với tôi là CSS sau đây

<style>
  .divider{
    margin: 0cm 0cm .5cm 0cm;
  }
</style>

và sau đó tạo một div trong html của bạn

<div class="divider"></div>

4

Tôi đã thử sử dụng <div class="control-group">và nó không thay đổi bố cục của tôi. Nó không thêm không gian dọc. Giải pháp hiệu quả với tôi là:

<ol style="visibility:hidden;"></ol>

Nếu điều đó không cung cấp cho bạn đủ không gian dọc, bạn có thể tăng thêm bằng cách thêm các <li>&nbsp;</li>thẻ lồng nhau .


Cảm ơn, và đề xuất của bạn sẽ hoạt động có hoặc không có Bootstrap. Nhưng câu hỏi cụ thể là về việc sử dụng Twitter Bootstrap để thêm khoảng cách.
Jonathan

1
<form>
 <fieldset class="form-group"><input type="text" class="form-control" placeholder="Input"/></fieldset>
 <fieldset class="form-group"><button class="btn btn-primary"/>Button</fieldset>
</form>

http://v4-alpha.getbootstrap.com/components/forms/#form-controls


1
Làm thế nào đây là một câu trả lời cho câu hỏi?
Matt S

Nó thêm khoảng cách dọc như poster ban đầu được yêu cầu, đồng thời các nhà phát triển bootstrap hiện đang phục vụ cho nó trong phiên bản mới nhất (4) ở trạng thái beta. Đây thực sự là câu trả lời chính xác và nếu bạn google khoảng cách dọc trong bootstrap, bạn sẽ thấy nó không được phục vụ trước đây. Xin đừng downvote những thứ bạn chưa thử nghiệm hoặc googled.
Den

Bạn rõ ràng chưa đọc câu hỏi. "Tôi muốn một chút (100px) khoảng trắng trống bên trên và bên dưới một nút nhất định." Một nút nhất định ... một nút nhất định ...
Matt S

1
Trước đó, ông nói: "Ví dụ, hãy nói". Đó chỉ là một ví dụ, nó không phải là vấn đề cụ thể. Đừng trích dẫn ra khỏi bối cảnh. Ví dụ tôi cung cấp rất phong phú và tất cả thông tin tôi đã cung cấp là đầy đủ.
Den

-3

Không có gì KHÔ hơn

.btn {
    margin-bottom:5px;
}

13
Tôi khuyên bạn không nên sửa đổi kiểu dáng của các lớp css bootstrap cơ sở.
James Palawaga

1
@JamesPalawaga +1. Nhưng nếu đây là một tiêu chuẩn chung trong ứng dụng của bạn, bạn có thể ghi đè kiểu dáng bootstrap, sử dụng LESS và các biến và / hoặc các biểu định kiểu ghi đè được quản lý cẩn thận.
Jonathan
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.