วิธีจัดแนว div ให้อยู่ด้านบนสุดของพาเรนต์ แต่ยังคงพฤติกรรมแบบอินไลน์บล็อกอยู่


171

ดู: http://jsfiddle.net/b2BpB/1/

ถาม: คุณจะทำให้ box1 และ box3 จัดตำแหน่งไปที่ด้านบนของ div parent ได้boxContainerอย่างไร

#boxContainerContainer {
  background: #fdd;
  text-align: center;
}

#boxContainer {
  display: inline-block;
  border: thick dotted #060;
  margin: 0px auto 10px auto;
  text-align: left;
}

#box1 {
  width: 50px;
  height: 50px;
  background: #999;
  display: inline-block;
}

#box2 {
  width: 50px;
  height: 100px;
  background: #999;
  display: inline-block;
}

#box3 {
  width: 50px;
  height: 50px;
  background: #999;
  display: inline-block;
}

ช่วยชื่นชมมาก ...

ตอบรับ: คำถามนี้แยกจากคำตอบที่ให้ไว้ก่อนหน้านี้โดยhttps://stackoverflow.com/users/20578/paul-d-waite : การรับองค์ประกอบ CSS เพื่อปรับขนาดความกว้างของเนื้อหาโดยอัตโนมัติและในเวลาเดียวกันให้อยู่กึ่งกลาง

คำตอบ:


378

ลองใช้vertical-alignคุณสมบัติ CSS

#box1 {
    width: 50px;
    height: 50px;
    background: #999;
    display: inline-block;
    vertical-align: top; /* here */
}

นำไปใช้กับ#box3เกินไป


3
ถ้าคุณต้องการการแก้ปัญหาสากลที่คุณควรจะใช้vertical-align: top;ในการ#boxContainer divเลือก ซึ่งจะใช้รูปของทุกองค์ประกอบภายในdiv boxContainer
MarthyM

30

อย่างที่คนอื่น ๆ พูดกันvertical-align: topคือเพื่อนของคุณ

โบนัสที่นี่เป็นซอฟแวร์ที่มีทางแยกพร้อมการปรับปรุงเพิ่มเติมที่ทำให้มันทำงานใน Internet Explorer 6 และ Internet Explorer 7 ด้วย;)

ตัวอย่าง: ที่นี่



6

คุณสามารถเพิ่ม float: left; สำหรับแต่ละกล่อง (box1, box2, box3)

http://jsfiddle.net/Wa4ma/


ถูกใจสิ่งนี้ดีกว่าจัดเรียงแนวตั้ง +1
Jurgen

เหตุใดโลกนี้จึงใช้งานได้ ฉันชอบมัน แต่ฉันก็อยากจะเข้าใจเช่นกัน
Kevin Bullaughey

-1

หรือคุณสามารถเพิ่มเนื้อหาบางส่วนลงใน div และใช้อินไลน์ตาราง


เพิ่มตารางทำไมเมื่อคุณสามารถใช้การจัดแนวตั้ง
tcoulson

1
@tcoulson ฉันไม่ได้บอกว่าใช้ตารางฉันบอกว่าคุณสามารถใช้ display: inline-table ซึ่งเมื่อ 3 ปีก่อนมีการสนับสนุนเบราว์เซอร์ที่ดีขึ้นและทำให้การจัดแนวดิ่งง่ายขึ้น
Robert Went
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.