Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีจัดปุ่มให้อยู่ตรงกลางด้วย HTML &CSS

คุณจะจัดองค์ประกอบปุ่มบล็อกหรือบล็อกแบบอินไลน์โดยใช้ CSS และ HTML ได้อย่างไร

การดำเนินการนี้อาจยุ่งยากเล็กน้อย แต่ต่อไปนี้คือเคล็ดลับสั้นๆ บางประการเกี่ยวกับวิธีจัดปุ่มให้อยู่ตรงกลาง ไม่ว่าจะเป็นองค์ประกอบประเภทใด

องค์ประกอบปุ่มบล็อกแบบอินไลน์

โดยค่าเริ่มต้น องค์ประกอบปุ่มและลิงก์ถูกตั้งค่าเป็น display: inline-block . องค์ประกอบที่มีชุดบล็อกอินไลน์จะอยู่ภายในโฟลว์ปกติของเอกสารบนหน้าขณะที่ย้ายจากซ้ายไปขวา

ซึ่งหมายความว่าหากคุณมีองค์ประกอบบล็อกอินไลน์สององค์ประกอบต่อจากกัน องค์ประกอบเหล่านี้จะแสดงเคียงข้างกันหากมีพื้นที่ในแนวนอนเพียงพอ

ซึ่งคล้ายกับองค์ประกอบที่มี display: inline ตั้งค่า ยกเว้นว่าคุณสามารถควบคุมความสูงและความกว้างขององค์ประกอบบล็อกแบบอินไลน์ และไม่ใช่องค์ประกอบแบบอินไลน์

การจัดกึ่งกลางโดยใช้ text-align:center

คุณสามารถจัดองค์ประกอบ inline-block (และ inline) ให้อยู่กึ่งกลางโดยการตั้งค่า text-align: center บนองค์ประกอบหลัก

มาดูกันว่ามันทำงานอย่างไรในโค้ด นี่คือมาร์กอัป HTML ของเรา:

<div class="text-center">
  <button type="submit">Text-align: center</button>
</div>

และ CSS ของเรา:

.text-center {
  text-align: center;
}

เราได้ห่อ <button> . ของเราแล้ว องค์ประกอบใน <div> ด้วย text-align: center ชุด. ซึ่งจะส่งผลให้ปุ่มอยู่ตรงกลางดังนี้:

วิธีจัดปุ่มให้อยู่ตรงกลางด้วย HTML &CSS

บล็อกองค์ประกอบปุ่มที่มีความกว้างคงที่

องค์ประกอบบล็อกไม่สามารถจัดกึ่งกลางด้วย text-align: center เพราะโดยค่าเริ่มต้นจะเป็นแบบเต็มความกว้างเว้นแต่จะได้รับความกว้างคงที่

บางครั้งคุณอาจต้องกำหนดความกว้างคงที่บนปุ่ม ดังนั้นหากคุณตั้งค่า คุณสามารถใช้เทคนิคนี้เพื่อจัดปุ่มให้อยู่ตรงกลางหน้าได้

สมมติว่าเรามีปุ่มที่เราตั้งค่าไว้กว้าง 200px แม้ว่าจะมีขนาดเพียง 200px แต่จะไม่ให้องค์ประกอบอื่นอยู่ข้างๆ

คุณสามารถจัดองค์ประกอบระดับบล็อกให้อยู่ตรงกลางได้โดยการตั้งค่า margin-left และ margin-right เป็น auto . เราสามารถใช้ชวเลข margin: 0 auto เพื่อทำสิ่งนี้. (นอกจากนี้ยังตั้งค่า margin-top และ margin-bottom ให้เป็นศูนย์)

มาดูกันว่ามันมีลักษณะอย่างไรในโค้ด:

<button type="submit" class="block magenta margin-auto">Margin: 0 auto</button>  
.button.block {
    display: block;
    width: 200px;    
}

.margin-auto {
    margin: 0 auto;
}

และปุ่มจะมีลักษณะดังนี้บนหน้า:

วิธีจัดปุ่มให้อยู่ตรงกลางด้วย HTML &CSS

การจัดกึ่งกลางโดยใช้ flexbox

อีกวิธีหนึ่ง คุณสามารถจัดองค์ประกอบทั้งบล็อกแบบอินไลน์และบล็อกโดยใช้ flexbox

ตัดปุ่มในพาเรนต์ <div> และตั้งค่าพาเรนต์เป็น display: flex และ justify-content: center .

นี่คือรหัสสำหรับสิ่งนั้น:

<div class="flex-parent jc-center">
  <button type="submit">Inline-block button</button>
</div>

<div class="flex-parent jc-center">
  <button type="submit">Block button</button>
</div>
.flex-parent {
  display: flex;
}

.jc-center {
  justify-content: center;
}
วิธีจัดปุ่มให้อยู่ตรงกลางด้วย HTML &CSS

สองปุ่มเคียงข้างกัน

บางครั้งคุณอาจต้องการให้มีปุ่มสองปุ่มติดกัน แต่ให้จัดทั้งสองปุ่มไว้ตรงกลางหน้า

คุณสามารถทำได้โดยใส่ทั้งสองปุ่มในพาเรนต์ <div> และใช้ flexbox เพื่อจัดกึ่งกลางหน้า

นี่คือรหัสสำหรับตัวอย่างนั้น:

<div class="flex-parent jc-center">
  <button type="submit" class="green margin-right">Confirm</button>
  <button type="submit" class="magenta">Cancel</button>
</div>
.flex-parent {
  display: flex;
}

.jc-center {
  justify-content: center;
}

button.margin-right {
  margin-right: 20px;
}

สังเกตว่าเราได้เพิ่ม margin-right: 20px ไปที่ปุ่มแรกเพื่อเพิ่มช่องว่างระหว่างปุ่มทั้งสอง

นี่คือลักษณะของปุ่มบนหน้า!

วิธีจัดปุ่มให้อยู่ตรงกลางด้วย HTML &CSS

คุณสามารถดูรหัสจริงทั้งหมดใน Codepen ได้ที่นี่