Twitter Bootstrap kullanarak dikey boşluk eklensin mi?


162

Twitter'ın Bootstrap'ini kullanarak dikey boşluk eklemenin en iyi yolu nedir?

Örneğin, bir açılış sayfası oluşturduğumu ve belirli bir düğmenin üstünde ve altında biraz (100 piksel) boş boşluk olmasını istediğimizi varsayalım. Açıkçası, o düğme için belirli bir sınıf oluşturabilirim. Ancak, Bootstrap'in dikey boş alanlara KURU bir şekilde eklenmesi gerektiğini düşünürüm .

Yanıtlar:


39

Gelen Bootstrap 4 vardır aralık Utilites .

Gerekçe kullanılan gösterimde belgelerine :

Kadar tüm kesme noktaları için geçerli Aralığı programları xsiçin xl, onlara hiçbir kesme noktası kısaltmaya sahiptir. Bunun nedeni, bu sınıfların yukarıdan min-width: 0ve yukarıdan uygulanması ve dolayısıyla bir medya sorgusu ile bağlı olmamasıdır. Bununla birlikte, geri kalan kesme noktaları bir kesme noktası kısaltması içerir.

Sınıflar biçimini kullanarak adlandırılır {property}{sides}-{size}için xs ve {property}{sides}-{breakpoint}-{size}için sm, md, lg, ve xl.

Nerede mülkiyet biridir:

  • m - ayarlanan sınıflar için margin
  • p - ayarlanan sınıflar için padding

Nerede taraf biridir:

  • t- ayarlanan sınıflar için margin-topveyapadding-top
  • b- ayarlanan sınıflar için margin-bottomveyapadding-bottom
  • l- ayarlanan sınıflar için margin-leftveyapadding-left
  • r- ayarlanan sınıflar için margin-rightveyapadding-right
  • x- her ikisini birden ayarlayan sınıflar *-leftve*-right
  • y- her ikisini birden ayarlayan sınıflar *-topve*-bottom
  • blank - öğenin 4 tarafına marginveya paddingtüm tarafına ayarlanan sınıflar için

Nerede boyutu biridir:

  • 0 - kenar boşluğunu veya dolguyu, 0
  • 1- (varsayılan olarak) marginveya öğesini ayarlayan sınıflar paddingiçin$spacer * .25
  • 2- (varsayılan olarak) marginveya öğesini ayarlayan sınıflar paddingiçin$spacer * .5
  • 3- (varsayılan olarak) marginveya öğesini ayarlayan sınıflar paddingiçin$spacer
  • 4- (varsayılan olarak) marginveya öğesini ayarlayan sınıflar paddingiçin$spacer * 1.5
  • 5- (varsayılan olarak) marginveya öğesini ayarlayan sınıflar paddingiçin$spacer * 3

Bu nedenle, bir öğenin üstünde ve altında fazladan dikey boşluk elde etmek için my-5sınıfı kullanırsınız .


3
Geçerli bir sınıf dizesine örnek verebilir misiniz?
Kolob Kanyonu

Güzel! Bu harika.
Tiki

51

V2'de, bu kadar dikey alan için yerleşik bir şey yoktur, bu nedenle özel bir sınıfa bağlı kalmak istersiniz. Daha küçük yükseklikler için, genellikle sadece <div class="control-group">bir düğmeye atarım .


8
veya <div class = "btn-toolbar">
dyurkavets

9
Teşekkürler. Şimdi bu kullanım için bazı spacer10, spacer50 vb sınıfları oluşturdum. Github'da
Ryan

1
@Ryan: Güzel, çekme isteğini görmedim. Biraz çelişiyorum. Bootstrap neredeyse tamamen sunumsal (ve kullanışlı), ancak tüm ekstra HTML'yi görmezden gelmeye yetecek kadar şaşıyorsanız, bundan anlambilim elde edebilirsiniz. Dikey boşluk tamamen sunum amaçlıdır, bu yüzden en iyi şekilde özel bir sınıf / kimlik ile yapılır.
jmdeldin

2
Bu v2 içindi, ama v3 etrafındaki boşluğu en aza indirmiş gibi görünüyor .btn-toolbar, bu yüzden sadece kendi marjlarınızla yeni bir sınıf eklemelisiniz.
jmdeldin

3
Görünüşe göre github özellik isteği kapatıldı ve özellik Bootstrap v4'e girebilir. bit.ly/R9oap9
Ryan

48

Sarma işe yarıyor, ancak sadece bir alan istediğinizde, beğendim:

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

16
Bootstrap ile çalışırken satır içi bir stil eklemek genellikle iyi bir fikir değildir. En azından CSS'ye girmeli.
alexykot

2
"col-xs-12" nin hiçbir derse sahip olmakla tamamen aynı
olduğuna dikkat edin

34

Burada eski bir mezar kazdığımız için üzgünüm, ama neden sadece bunu yapmıyorsun?

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

Normal form öğesinin yüksekliğine boşluk ekleyecektir.

Bir formdaki yaklaşık 1 satır kabaca 50 piksel (az önce incelediğim öğemde 47 piksel) gibi görünüyor. Bu, sol 2col etiketli ve sağ 10col girişli yatay bir formdur. Yani pikselleriniz değişebilir.

Benimki temelde 50 piksel olduğundan, kenar boşluğu veya dolgu olmadan 50 piksel uzunluğunda bir aralayıcı oluşturacağım;

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

1
Bu, grubun altına alan ekler ancak yukarıda değil
icc97

Tabii ki, tam olarak istediği şey, dikey bir boşluk eklemenin bir yolu. Özel form grubu veya satır veya hatta bir düğmeye ihtiyacınız varsa, kenar boşluklarını geçersiz kılarak eklemek için kendi sınıfınızı oluşturun. Yani: class = "form-group spaced-group" ve ".spaced-group {margin-top: 15px! İmportant; margin-bottom: 15px! İmportant;}. .. Bu sadece yaygın bir css-sense.
Wade

OP özellikle sordu: " belirli bir düğmenin üstünde ve altında biraz (100 piksel) boş boşluk "
icc97

1
Hayır, bu bir örnekti, sorusu değil. Sorusu "Twitter'ın Bootstrap'ini kullanarak dikey boşluk eklemenin en iyi yolu nedir?" - dikey boşluk, belirli bir öğenin kenar boşluğundan farklıysa. Tüm düğmeler için yapsaydı, btn'nin kenar boşluğunu değiştirebilir ya da istenen kenar boşluklarıyla "btn-spaced" gibi kendi sınıfını yapabilirdi. Sadece istediği yere bir boşluk eklemenin bir yolunu istiyorsa, cevapladığım gibi sabit bir yükseklikte bir aralayıcı ihtiyacı olan şeydir. Bir soru sordu ve başka bir soru verdi. CSS'yi, marjları geçersiz kılabileceğini bilecek kadar biliyordu.
Wade

Bir DRY yöntemi ve düğmesi dediğinden beri, istediğim kenar boşluklarıyla bir düğme sınıfı yaratacağım: btn-spaced. Sadece düğmeler için olmasaydı, satırlar, form grupları için geçerli olan genel bir marj ne olursa olsun. Class = "row space-small" veya class = "form-group space-medium" gibi. Küçük orta ve büyük kenar boşluklarının sadece varyantlarıdır ve neredeyse her şeye uygulanabilir. - Operasyonun hangisini istediğini söylemek zor. Sadece düğmeler için veya herhangi bir eleman için ..
Wade

24

Bunun eski olduğunu biliyorum, ama buraya aynı şeyi aramak için geldim, Bootstrap'ın yardım bloğuna sahip olduğunu gördüm, bu durumlar için çok kullanışlı:

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

21

Sürüm 3 için bu düzgün bir şekilde başarmak için "bootstrap" yolu yok gibi görünüyor.

A panel, a wellve form-grouptümü bir miktar dikey boşluk sağlar.

Daha resmi bir spesifik dikey boşluk çözümü, görünüşe göre, bootstrap v4 için yol haritasında

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


5
.form-group en iyi seçenek gibi görünüyor çünkü css kenar boşluğu ile sınırlı: 15px. .well ve .panel, diğer özniteliklere (arka plan, dolgu, kenarlık vb.) sahip oldukları için biraz boşluk eklemek istiyorsanız kullanılmamalıdır
xaa

9

Sadece çeşitli yükseklikleri kullanarak bir div sınıfı yarattım.

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

CSS:

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

Sadece yüksekliğe ihtiyaç duyulan şey için bir bölücü sınıfı oluşturun.


8

Benim numaram. Zarif değil, ama işe yarıyor:

<p>&nbsp;</p>

2
@JayKilleen +1 Bunu bir cevap olarak göndermelisiniz. Belki insanlar çerçevelere güveniyor ve temelleri unutmaya başlıyorlar.
ADJenks

5

Sadece kullan <br/>. Kendimi burada bu sorunun cevabını ararken buldum ve bir yorumda kullanıcı JayKilleen tarafından önerildiği gibi basit bir satır sonu kullanmayı düşünmediğim için aptalca hissettim.


Dezavantajı, tam 100 piksel kontrol almamanızdır, ancak kesinlikle makul miktarda alan eklemek için çalışmalıdır.
mix3d

1
@ mix3d, tam oradasınız, ilk başta tam olarak 100 piksel olduğunu umursamadım. Sadece bir "biraz" istediđini sanýyordum. Kesinlikle herkesin önerdiği gibi kendi yardımcı sınıfını yapabilirdi. Ancak bu yazı çok eski olduğundan, şimdi kesin aralık için bootstrap 4'e geçebilir veya yardımcı sınıfları ondan alabilir.
ADJenks

5

Bunun eski olduğunu biliyorum ve zaten birkaç iyi çözüm var, ama benim için çalışan basit bir çözüm aşağıdaki CSS

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

ve sonra html'nizde bir div oluşturun

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

4

Kullanmayı denedim <div class="control-group">ve düzenimi değiştirmedi. Dikey boşluk eklemedi. Benim için işe yarayan çözüm:

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

Bu size yeterli dikey alan sağlamazsa, iç içe <li>&nbsp;</li>etiketler ekleyerek aşamalı olarak daha fazla yararlanabilirsiniz .


Teşekkürler ve öneriniz Bootstrap ile veya Bootstrap olmadan çalışır. Ancak soru, özellikle boşluk eklemek için Twitter Bootstrap'ı kullanmakla ilgiliydi.
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
Bu sorunun cevabı nasıl?
Matt S

Orijinal posterin istediği gibi dikey boşluk ekler, ayrıca bootstrap geliştiricileri artık beta durumunda en son sürümde (4) ikram ediyor. Aslında doğru cevap ve eğer bootstrap google dikey boşluk daha önce için yiyecek ve içecek olmadığını görecektiniz. Lütfen test etmediğiniz veya googled yapmadığınız şeyleri küçümsemeyin.
Den

Soruyu açıkça okumadınız. "Belirli bir düğmenin üstünde ve altında biraz (100 piksel) boş boşluk istiyorum." Belirli bir düğme ... belirli bir düğme ...
Matt S

1
Ondan önce şöyle dedi: "Mesela diyelim". Bu sadece bir örnekti, belirli bir sorun değildi. Bağlamdan alıntı yapmayın. Sağladığım örnek yeterli ve verdiğim tüm bilgiler yeterli.
Den

-3

Daha kuru bir şey yok

.btn {
    margin-bottom:5px;
}

13
Temel bootstrap css sınıflarının stilini değiştirmeye karşı tavsiye ederim.
James Palawaga

1
@JamesPalawaga +1. Ancak bu, uygulamanızda genel bir standart olacaksa, LESS ve değişkenleri kullanarak ve / veya dikkatle yönetilen geçersiz kılma stillerini kullanarak önyükleme stilini geçersiz kılabilirsiniz.
Jonathan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.