เพิ่มช่องว่างแนวตั้งโดยใช้ Twitter Bootstrap?


162

วิธีที่ดีที่สุดในการเพิ่มช่องว่างในแนวตั้งโดยใช้ Bootstrap ของ Twitter คืออะไร

ตัวอย่างเช่นสมมติว่าฉันกำลังสร้างหน้า Landing Page และต้องการพื้นที่ว่างเปล่าด้านบนและด้านล่างปุ่มเล็กน้อย (100px) เห็นได้ชัดว่าฉันสามารถสร้างคลาสที่แน่นอนสำหรับปุ่มนั้น แต่ผมจะคิดว่าเงินทุนควรจะมีความแห้งวิธีของการเพิ่มช่องว่างในแนวตั้ง

คำตอบ:


39

ในBootstrap 4มีutilites ระยะห่าง

อ้างถึงเอกสารสำหรับสัญลักษณ์ที่ใช้ :

ยูทิลิตี้การเว้นวรรคที่ใช้กับจุดพักทั้งหมดจากxsถึงxlไม่มีตัวย่อจุดพักในนั้น นี่เป็นเพราะคลาสเหล่านั้นถูกนำไปใช้ตั้งแต่min-width: 0ขึ้นไปและดังนั้นจึงไม่ถูกผูกไว้ด้วยเคียวรีสื่อบันทึก จุดพักที่เหลือจะรวมถึงตัวย่อเบรกพอยต์

เรียนจะถูกตั้งชื่อโดยใช้รูปแบบ{property}{sides}-{size}สำหรับxs และ{property}{sides}-{breakpoint}-{size}สำหรับsm, md, และlgxl

สถานที่ให้บริการเป็นหนึ่งใน:

  • m - สำหรับคลาสที่ตั้งค่าไว้ margin
  • p - สำหรับคลาสที่ตั้งค่าไว้ padding

ด้านไหนเป็นหนึ่งใน:

  • t- สำหรับคลาสที่ตั้งค่าmargin-topหรือpadding-top
  • b- สำหรับคลาสที่ตั้งค่าmargin-bottomหรือpadding-bottom
  • l- สำหรับคลาสที่ตั้งค่าmargin-leftหรือpadding-left
  • r- สำหรับคลาสที่ตั้งค่าmargin-rightหรือpadding-right
  • x- สำหรับคลาสที่ตั้งค่าทั้งสอง*-leftและ*-right
  • y- สำหรับคลาสที่ตั้งค่าทั้งสอง*-topและ*-bottom
  • blank - สำหรับคลาสที่ตั้งค่าmarginหรือpaddingทั้ง 4 ด้านขององค์ประกอบ

ขนาดไหนเป็นหนึ่งใน:

  • 0 - สำหรับคลาสที่กำจัดระยะขอบหรือช่องว่างภายในโดยการตั้งค่าเป็น 0
  • 1- (โดยค่าเริ่มต้น) สำหรับคลาสที่ตั้งค่าmarginหรือpaddingเป็น$spacer * .25
  • 2- (โดยค่าเริ่มต้น) สำหรับคลาสที่ตั้งค่าmarginหรือpaddingเป็น$spacer * .5
  • 3- (โดยค่าเริ่มต้น) สำหรับคลาสที่ตั้งค่าmarginหรือpaddingเป็น$spacer
  • 4- (โดยค่าเริ่มต้น) สำหรับคลาสที่ตั้งค่าmarginหรือpaddingเป็น$spacer * 1.5
  • 5- (โดยค่าเริ่มต้น) สำหรับคลาสที่ตั้งค่าmarginหรือpaddingเป็น$spacer * 3

ดังนั้นเพื่อให้มีพื้นที่แนวตั้งเพิ่มเติมด้านบนและด้านล่างขององค์ประกอบที่คุณจะใช้my-5คลาส


3
คุณสามารถให้ตัวอย่างของสายอักขระคลาสที่ถูกต้องหรือไม่
Kolob Canyon

ดี! มันเยี่ยมมาก
Tiki

51

ใน v2 ไม่มีอะไรในตัวสำหรับพื้นที่แนวตั้งนั้นดังนั้นคุณจะต้องติดกับคลาสที่กำหนดเอง สำหรับความสูงที่น้อยกว่าฉันมักจะแค่<div class="control-group">กดปุ่ม


8
หรือ <div class = "btn-toolbar">
dyurkavets

9
ขอบคุณ ตอนนี้ฉันได้สร้างคลาส spacer10, spacer50 และอื่น ๆ สำหรับการใช้งานนี้ ฉันเห็นว่ามีการร้องขอคุณสมบัติเป็น github สำหรับสิ่งนี้อยู่แล้ว: bit.ly/R9oap9
Ryan

1
@ Ryan: Nice, ไม่เห็นคำขอดึง ฉันขัดแย้งกับมันเล็กน้อย Bootstrap เป็นการนำเสนอเกือบทั้งหมด (และสะดวก) แต่ถ้าคุณเหลื่อมกันอย่างหนักพอที่จะเพิกเฉยต่อ HTML พิเศษทั้งหมดคุณสามารถได้รับซีแมนทิกส์จากมัน การเว้นวรรคแนวตั้งเป็นการนำเสนออย่างหมดจดดังนั้นฉันจึงคิดว่าทำได้ดีที่สุดกับคลาส / ID ที่กำหนดเอง
jmdeldin

2
นี่สำหรับ v2 แต่ดูเหมือนว่า v3 จะลดระยะห่างให้เหลือน้อยที่สุด.btn-toolbarดังนั้นคุณควรเพิ่มคลาสใหม่ด้วยระยะขอบของคุณเอง
jmdeldin

3
เห็นได้ชัดว่าการร้องขอคุณลักษณะ GitHub ถูกปิดและคุณสมบัติอาจทำให้มันอยู่ใน Bootstrap v4 bit.ly/R9oap9
Ryan

48

การห่องาน แต่เมื่อคุณต้องการพื้นที่ฉันชอบ:

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

16
การเพิ่มสไตล์แบบอินไลน์เมื่อทำงานกับ Bootstrap นั้นไม่ใช่ความคิดที่ดี อย่างน้อยมันควรเป็น CSS
alexykot

2
โปรดสังเกตว่า "col-xs-12" นั้นเหมือนกับที่ไม่มีคลาสเลย
Soldeplata Saketos

34

ขออภัยที่จะขุดหลุมฝังศพเก่าที่นี่ แต่ทำไมไม่ทำเช่นนี้?

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

มันจะเพิ่มช่องว่างความสูงขององค์ประกอบรูปแบบปกติ

ดูเหมือนว่าประมาณ 1 บรรทัดในแบบฟอร์มนั้นมีขนาดประมาณ 50px (47px สำหรับองค์ประกอบของฉันที่ฉันเพิ่งตรวจสอบ) นี่คือรูปแบบแนวนอนโดยมีป้ายกำกับที่ 2col ด้านซ้ายและอินพุตที่ด้านขวา 10col ดังนั้นพิกเซลของคุณอาจแตกต่างกันไป

เนื่องจากของฉันนั้นมีขนาด 50px ฉันจะสร้างตัวเว้นวรรคสูง 50px โดยไม่มีระยะขอบหรือขยาย

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

1
เพิ่มพื้นที่ด้านล่างกลุ่ม แต่ไม่สูงกว่า
icc97

แน่นอนว่านั่นคือสิ่งที่เขาขอวิธีการเพิ่มพื้นที่ว่างแนวตั้ง หากคุณต้องการกำหนดกลุ่มหรือแถวแบบกำหนดเองหรือแม้กระทั่งปุ่มให้สร้างคลาสของคุณเองเพื่อเพิ่มเข้าไปแทนที่ส่วนต่าง Ie: class = "form-group spaced-group" และ ".spaced-group {margin-top: 15px! important; margin-bottom: 15px! important;}. .. มันเป็นเรื่องธรรมดา css-sense
Wade

OP ถามเป็นพิเศษ: "บิต (100px) ของช่องว่างสีขาวด้านบนและด้านล่างปุ่มบางปุ่ม"
icc97

1
ไม่นั่นเป็นตัวอย่างไม่ใช่คำถามของเขา คำถามของเขาคือ "วิธีที่ดีที่สุดในการเพิ่มพื้นที่ว่างแนวตั้งโดยใช้ Bootstrap ของ Twitter คืออะไร" - พื้นที่ว่างแนวตั้งนั้นแตกต่างจากระยะขอบขององค์ประกอบเฉพาะ หากเขาทำเพื่อทุกปุ่มเขาสามารถเปลี่ยนระยะขอบของ btn หรือทำให้คลาสของเขาเหมือน "btn-spaced" ด้วยระยะขอบที่ต้องการ ถ้าเขาแค่ต้องการเพิ่มช่องว่างไม่ว่าเขาต้องการอะไรตัวเว้นวรรคของความสูงคงที่อย่างที่ฉันตอบคือสิ่งที่เขาต้องการ เขาถามคำถามหนึ่งและให้ตัวอย่างของอีก ฉันคิดว่าเขารู้ CSS เพียงพอที่จะรู้ว่าเขาสามารถลบล้างระยะขอบ
ลุย

เนื่องจากเขากล่าวว่าวิธี DRY และปุ่มจากนั้นฉันจะสร้างคลาสของปุ่มด้วยระยะขอบที่ฉันต้องการ: btn-spaced ถ้ามันไม่ได้มีไว้สำหรับปุ่มเพียงอย่างเดียวขอบทั่วไปที่จะนำไปใช้กับแถวกลุ่มแบบฟอร์มอะไรก็ตาม ชอบ class = "row space-small" หรือ class = "form-group space-medium" .. โดยที่สื่อขนาดเล็กและใหญ่เป็นเพียงตัวแปรของระยะขอบและสามารถนำไปใช้กับสิ่งใดก็ได้ - ยากที่จะบอกได้ว่าสหกรณ์ต้องการ สำหรับปุ่มเท่านั้นหรือเพียงแค่องค์ประกอบใด ๆ ..
ลุย

24

ฉันรู้ว่านี้คือเก่า แต่ผมมาที่นี่ค้นหาสิ่งเดียวกันผมพบว่าเงินทุนมีความช่วยเหลือบล็อกที่มีประโยชน์มากสำหรับสถานการณ์เหล่านี้:

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

21

สำหรับเวอร์ชั่น 3 ดูเหมือนจะไม่มีวิธี "bootstrap" เพื่อให้ได้สิ่งนี้อย่างเป็นระเบียบ

panelเป็นwellและform-groupทั้งหมดให้บางส่วนระยะห่างแนวตั้ง

วิธีแก้ปัญหาการเว้นวรรคแนวตั้งที่เป็นทางการที่เฉพาะเจาะจงมากขึ้นเห็นได้ชัดคือในแผนงานสำหรับ bootstrap v4

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


5
.form-group ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดเนื่องจาก css นั้นถูก จำกัด ไว้ที่ระยะขอบ: 15px ไม่ควรใช้. และ. แผงเซลล์หากคุณต้องการเพิ่มระยะห่างเพียงเล็กน้อยเนื่องจากมีคุณลักษณะอื่น ๆ (เช่นพื้นหลัง, ช่องว่างภายใน, เส้นขอบ ฯลฯ )
xaa

9

ฉันแค่สร้างคลาส div โดยใช้ความสูงที่หลากหลายเช่น

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

CSS คือ:

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

เพียงแค่สร้างระดับ divider สำหรับสิ่งที่เคยสูงที่มีความจำเป็น


8

เคล็ดลับของฉัน ไม่หรูหรา แต่ใช้งานได้:

<p>&nbsp;</p>

2
@JayKilleen +1 คุณควรโพสต์สิ่งนั้นเป็นคำตอบ บางทีคนเริ่มพึ่งกรอบและเริ่มลืมพื้นฐาน
ADJenks

5

<br/>ใช้เพียงแค่ ฉันพบว่าตัวเองอยู่ที่นี่กำลังมองหาคำตอบสำหรับคำถามนี้แล้วรู้สึกโง่ ๆ ที่ไม่คิดจะใช้ตัวแบ่งบรรทัดอย่างง่ายตามที่ผู้ใช้ JayKilleen แนะนำในการแสดงความคิดเห็น


ข้อเสียคือคุณไม่ได้รับการควบคุมที่แน่นอน 100px แต่ควรทำงานอย่างแน่นอนเพื่อเพิ่มพื้นที่ในปริมาณที่เหมาะสม
mix3d

1
@ mix3d คุณอยู่ที่นั่นฉันไม่ได้สังเกตในตอนแรกว่าเขาใส่ใจว่ามันเป็น 100px อย่างแน่นอน ฉันคิดว่าเขาต้องการแค่ "บิต" เขาสามารถสร้างคลาสผู้ช่วยของตัวเองได้ตามที่ทุกคนแนะนำ แต่เนื่องจากโพสต์นี้มีอายุหลายปีแล้วตอนนี้เขาสามารถอัพเกรดเป็น bootstrap 4 เพื่อการเว้นวรรคที่แม่นยำหรือใช้คลาสผู้ช่วยเหลือจากมัน
ADJenks

5

ฉันรู้ว่ามันเก่าและมีวิธีแก้ปัญหาที่ดีหลายอย่างที่โพสต์ไปแล้ว แต่วิธีแก้ปัญหาที่ง่ายสำหรับฉันคือ CSS ต่อไปนี้

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

จากนั้นสร้าง div ใน html ของคุณ

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

4

ฉันพยายามใช้<div class="control-group">และมันไม่ได้เปลี่ยนรูปแบบของฉัน มันไม่ได้เพิ่มพื้นที่แนวตั้ง ทางออกสำหรับฉันคือ:

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

หากนั่นไม่ได้ให้พื้นที่แนวตั้งเพียงพอคุณสามารถเพิ่มได้มากขึ้นโดยการเพิ่ม<li>&nbsp;</li>แท็กที่ซ้อนกัน


ขอขอบคุณและข้อเสนอแนะของคุณจะทำงานโดยมีหรือไม่มี Bootstrap แต่คำถามนี้เกี่ยวกับการใช้ Twitter Bootstrap เพื่อเพิ่มระยะห่าง
โจนาธาน

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
นี่เป็นคำตอบของคำถามได้อย่างไร
Matt S

มันเพิ่มระยะห่างแนวตั้งตามโปสเตอร์ต้นฉบับที่ขอนอกจากนี้ bootstrap devs ก็รองรับมันในเวอร์ชั่นล่าสุด (4) ในสถานะเบต้า จริงๆแล้วมันเป็นคำตอบที่ถูกต้องและถ้าหากคุณเว้นวรรคแนวตั้ง google ใน bootstrap คุณจะเห็นว่ามันไม่ได้รองรับก่อนหน้านี้ โปรดอย่าดาวน์โหลดสิ่งที่คุณยังไม่ได้ทดสอบหรือ Google
Den

คุณยังไม่ได้อ่านคำถามอย่างชัดเจน "ฉันต้องการพื้นที่สีขาวด้านบนและด้านล่างของปุ่มสักหน่อย (100px)" ปุ่มบางปุ่ม ... ปุ่มบางตัว ...
Matt S

1
ก่อนหน้านั้นเขาพูดว่า: "ตัวอย่างเช่นสมมุติว่า" มันเป็นเพียงตัวอย่างไม่ใช่ปัญหาเฉพาะ อย่าอ้างจากบริบท ตัวอย่างที่ฉันให้นั้นเพียงพอและข้อมูลทั้งหมดที่ฉันให้นั้นเพียงพอ
Den

-3

มีอะไรมากไปกว่าแห้ง

.btn {
    margin-bottom:5px;
}

13
ฉันไม่แนะนำให้ปรับเปลี่ยนสไตล์ของคลาส bootstrap css
เจมส์ Palawaga

1
@JamesPalawaga +1 แต่ถ้านี่เป็นมาตรฐานทั่วไปสำหรับแอปพลิเคชันของคุณคุณสามารถแทนที่การกำหนดสไตล์บู๊ตสแตรปโดยใช้ LESS และตัวแปรและ / หรือสไตล์การเขียนทับที่ถูกจัดการอย่างระมัดระวัง
Jonathan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.