ใน 3 คำ: inline-block
ดีกว่า
บล็อกแบบอินไลน์
ข้อเสียเปรียบเพียงประการเดียวของdisplay: inline-block
วิธีการนี้คือใน IE7 และด้านล่างองค์ประกอบจะสามารถแสดงinline-block
ได้ก็ต่อเมื่อเป็นinline
ค่าเริ่มต้นแล้ว สิ่งนี้หมายความว่าแทนที่จะใช้<div>
องค์ประกอบคุณต้องใช้<span>
องค์ประกอบ มันไม่ได้เป็นข้อเสียเปรียบมากนักเนื่องจากความหมาย a <div>
มีไว้สำหรับแบ่งหน้าในขณะที่ a ใช้<span>
สำหรับการครอบคลุมช่วงของหน้าเท่านั้นดังนั้นจึงไม่มีความแตกต่างทางความหมายมากนัก ประโยชน์อย่างมากdisplay:inline-block
ก็คือเมื่อนักพัฒนาซอฟต์แวร์รายอื่นรักษาโค้ดของคุณในเวลาต่อมาจะเห็นได้ชัดเจนว่าอะไรdisplay:inline-block
และtext-align:right
กำลังพยายามทำให้สำเร็จมากกว่าคำสั่งfloat:left
หรือfloat:right
คำสั่ง ผลประโยชน์ที่ชื่นชอบของinline-block
วิธีการก็คือว่ามันง่ายต่อการใช้vertical-align: middle
, line-height
และtext-align: center
เพื่อให้องค์ประกอบอยู่ตรงกลางอย่างสมบูรณ์แบบในแบบที่ใช้งานง่าย ผมพบว่าการโพสต์บล็อกที่ดีเกี่ยวกับวิธีใช้เบราว์เซอร์แบบอินไลน์บล็อกบนบล็อกของ Mozilla นี่คือความเข้ากันได้เบราว์เซอร์
ลอย
สาเหตุที่การใช้float
วิธีนี้ไม่เหมาะกับการจัดวางหน้าเว็บของคุณเป็นเพราะเดิมทีfloat
คุณสมบัติ CSS นั้นมีไว้เพื่อให้มีข้อความล้อมรอบรูปภาพ (รูปแบบนิตยสาร) เท่านั้นและตามการออกแบบแล้วไม่เหมาะที่สุดสำหรับวัตถุประสงค์ในการจัดวางหน้าทั่วไป เมื่อมีการเปลี่ยนแปลงองค์ประกอบลอยต่อมาบางครั้งคุณจะมีการวางตำแหน่งของปัญหาเพราะพวกเขาไม่ได้อยู่ในการไหลของหน้า ข้อเสียอีกประการหนึ่งคือโดยทั่วไปต้องใช้ clearfix มิฉะนั้นอาจทำให้ส่วนต่างๆของหน้าเสียหายได้ clearfix ต้องเพิ่มองค์ประกอบหลังจากองค์ประกอบลอยที่จะหยุดพวกเขาปกครองจากการยุบรอบตัวพวกเขาที่ข้ามเส้นความหมายระหว่างสไตล์การแยกจากเนื้อหาและจึงต่อต้านรูปแบบในการพัฒนาเว็บ
ปัญหาพื้นที่สีขาวที่กล่าวถึงในลิงก์ด้านบนสามารถแก้ไขได้อย่างง่ายดายด้วยwhite-space
คุณสมบัติ CSS
แก้ไข:
SitePointเป็นแหล่งที่น่าเชื่อถือมากสำหรับคำแนะนำในการออกแบบเว็บไซต์และดูเหมือนว่าพวกเขาจะมีความคิดเห็นเช่นเดียวกันกับฉัน:
หากคุณเพิ่งเริ่มใช้เลย์เอาต์ CSS คุณจะได้รับการอภัยเพราะคิดว่าการใช้ CSS ลอยๆในรูปแบบจินตนาการคือความสูงของทักษะ หากคุณใช้แบบฝึกหัดการจัดวาง CSS มากเท่าที่คุณจะพบได้คุณอาจคิดว่าการลอยตัวแบบเชี่ยวชาญเป็นพิธีการ คุณจะตื่นตาไปกับความเฉลียวฉลาดประหลาดใจกับความซับซ้อนและคุณจะได้รับความสำเร็จเมื่อคุณเข้าใจวิธีการทำงานของโฟลต
อย่าหลงเชื่อ คุณกำลังถูกล้างสมอง
http://www.sitepoint.com/give-floats-the-flick-in-css-layouts/
การอัปเดตปี 2015 - Flexbox เป็นทางเลือกที่ดีสำหรับเบราว์เซอร์สมัยใหม่ :
.container {
display: flex; /* or inline-flex */
}
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
ข้อมูลเพิ่มเติม
อัปเดตวันที่ 21 ธันวาคม 2559
Bootstrap 4 กำลังลบการสนับสนุนสำหรับ IE9 ดังนั้นจึงเป็นการกำจัดการลอยจากแถวและใช้ Flexbox เต็มรูปแบบ
ดึงคำขอ # 21389
inline
inline-block
แต่อันแรกที่เกี่ยวข้องนั้นดี: stackoverflow.com/a/11823622/918414