อัพเดท 2019 - Bootstrap 4
"เนื้อหากึ่งกลาง" อาจหมายถึงสิ่งต่าง ๆ มากมายและการเริ่มต้น Bootstrap อยู่ตรงกลางมีการเปลี่ยนแปลงมากมายตั้งแต่โพสต์ต้นฉบับ
ศูนย์แนวนอน
Bootstrap 3
text-center
ใช้สำหรับdisplay:inline
องค์ประกอบ
center-block
display:block
องค์ประกอบกลาง
col-*offset-*
ไปยังศูนย์คอลัมน์กริด
- ดูคำตอบนี้เพื่อจัดกึ่งกลางแถบนำทาง
ตัวอย่าง Bootstrap 3 แนวนอนตรงกลาง
Bootstrap 4
text-center
ยังคงใช้สำหรับdisplay:inline
องค์ประกอบ
mx-auto
แทนที่องค์ประกอบcenter-block
กลางdisplay:block
offset-*
หรือ mx-auto
สามารถใช้กับคอลัมน์กริดกลาง
justify-content-center
ในrow
นอกจากนี้ยังสามารถใช้ในการศูนย์col-*
mx-auto
(อัตโนมัติแกน x อัตรากำไรขั้นต้น) จะศูนย์display:block
หรือdisplay:flex
องค์ประกอบที่มีความกว้างที่กำหนดไว้ ( %
, vw
, px
ฯลฯ .. ) Flexbox ใช้เป็นค่าเริ่มต้นในคอลัมน์กริดดังนั้นจึงมีวิธีการจัดกึ่งกลางแบบเฟล็กบ็อกซ์ที่หลากหลาย
ตัวอย่าง Bootstrap 4 แนวนอนตรงกลาง
ศูนย์แนวตั้ง
ตอนนี้เงินทุน 4 เป็นflexbox โดยค่าเริ่มต้นมีหลายวิธีที่แตกต่างกันในการจัดตำแหน่งแนวตั้งโดยใช้: อัตโนมัติอัตรากำไรขั้นต้น , utils flexboxหรือutils จอแสดงผลพร้อมกับutils จัดแนวตั้ง ในตอนแรก "แนวจัดแนวตั้ง" ดูเหมือนชัดเจน แต่สิ่งเหล่านี้ใช้ได้กับองค์ประกอบการแสดงผลแบบอินไลน์และตารางเท่านั้น ต่อไปนี้เป็นตัวเลือกการจัดกึ่งกลางแนวตั้ง Bootstrap 4 ..
1 - ศูนย์แนวตั้งโดยใช้ระยะขอบอัตโนมัติ:
my-auto
วิธีการศูนย์แนวตั้งก็คือการใช้ สิ่งนี้จะทำให้องค์ประกอบอยู่ตรงกลางภายในคอนเทนเนอร์ ตัวอย่างเช่นh-100
ทำให้แถวมีความสูงเต็มและmy-auto
จะจัดแนวcol-sm-12
คอลัมน์เป็นแนวตั้ง
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
ศูนย์แนวตั้งโดยใช้การสาธิตระยะขอบอัตโนมัติ
my-auto
แสดงระยะขอบบนแกน y ในแนวตั้งและเทียบเท่ากับ:
margin-top: auto;
margin-bottom: auto;
2 - ศูนย์แนวตั้งพร้อม Flexbox:
เนื่องจาก Bootstrap 4 .row
เป็นตอนนี้display:flex
คุณสามารถใช้align-self-center
ในคอลัมน์ใดก็ได้เพื่อจัดกึ่งกลางแนวตั้ง ...
<div class="row">
<div class="col-6 align-self-center">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
หรือใช้align-items-center
ทั้งหมด.row
เพื่อจัดกึ่งกลางแนวตั้งทั้งหมดcol-*
ในแถว ...
<div class="row align-items-center">
<div class="col-6">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
การสาธิตคอลัมน์แนวตั้งศูนย์กลางความสูงที่แตกต่างกัน
3 - ศูนย์กลางแนวตั้งโดยใช้ประโยชน์จากการแสดงผล:
Bootstrap 4 มีutils จอแสดงผลที่สามารถนำมาใช้สำหรับdisplay:table
, display:table-cell
, display:inline
ฯลฯ .. เหล่านี้สามารถใช้กับutils แนวตั้งที่จะจัดแบบอินไลน์, อินไลน์บล็อกหรือตารางองค์ประกอบของเซลล์
<div class="row h-50">
<div class="col-sm-12 h-100 d-table">
<div class="card card-block d-table-cell align-middle">
I am centered vertically
</div>
</div>
</div>
ศูนย์แนวตั้งโดยใช้การสาธิตการใช้ประโยชน์ดิสเพลย์