ลองนึกภาพเลย์เอาต์ต่อไปนี้โดยที่จุดแสดงถึงช่องว่างระหว่างกล่อง
[Left box]......[Center box]......[Right box]
เมื่อฉันลบกล่องขวาฉันชอบกล่องตรงกลางที่จะยังคงอยู่ในศูนย์เช่น:
[Left box]......[Center box].................
สิ่งเดียวกันจะเกิดขึ้นหากฉันจะลบกล่องด้านซ้าย
................[Center box].................
ตอนนี้เมื่อเนื้อหาภายในกล่องกลางยาวขึ้นมันจะใช้พื้นที่มากเท่าที่จำเป็นในขณะที่เหลืออยู่กึ่งกลาง กล่องด้านซ้ายและขวาจะไม่ย่อขนาดดังนั้นเมื่อไม่มีที่ว่างเหลืออยู่overflow:hidden
และtext-overflow: ellipsis
จะมีผลในการทำลายเนื้อหา
[Left box][Center boxxxxxxxxxxxxx][Right box]
ทั้งหมดข้างต้นเป็นสถานการณ์ในอุดมคติของฉัน แต่ฉันไม่รู้ว่าจะทำสิ่งนี้ได้อย่างไร เพราะเมื่อฉันสร้างโครงสร้างแบบยืดหยุ่นเช่นนั้น:
.parent {
display : flex; // flex box
justify-content : space-between; // horizontal alignment
align-content : center; // vertical alignment
}
ถ้ากล่องซ้ายและขวามีขนาดเท่ากันฉันจะได้เอฟเฟกต์ที่ต้องการ อย่างไรก็ตามเมื่อหนึ่งในสองนั้นมาจากขนาดที่แตกต่างกันกล่องที่อยู่ตรงกลางไม่ได้อยู่กึ่งกลางอีกต่อไปอย่างแท้จริง
มีใครบ้างที่สามารถช่วยฉันได้บ้าง
ปรับปรุง
A justify-self
จะดีนี่จะเหมาะ:
.leftBox {
justify-self : flex-start;
}
.rightBox {
justify-self : flex-end;
}
justify-self
ก่อนหน้านี้วันนี้ดังนั้นคุณอาจพบว่าสิ่งนี้น่าสนใจ: stackoverflow.com/questions/32551291/…
flexbox
ควรจะทำงาน คุณอาจลองวิธีการอื่น