หากคุณไม่ต้องการรองรับ IE9 หรือต่ำกว่าคุณสามารถใช้ flexbox ได้อย่างอิสระและไม่จำเป็นต้องใช้รูปแบบลอย
เป็นที่น่าสังเกตว่าในวันนี้การใช้องค์ประกอบที่ลอยอยู่สำหรับการจัดวางจะทำให้ท้อแท้มากขึ้นเรื่อย ๆ ด้วยการใช้ทางเลือกที่ดีกว่า
display: inline-block
- ดีกว่า
- Flexbox - ดีที่สุด (แต่รองรับเบราว์เซอร์ จำกัด )
Flexbox ได้รับการสนับสนุนจาก Firefox 18, Chrome 21, Opera 12.10 และ Internet Explorer 10, Safari 6.1 (รวมถึง Mobile Safari) และเบราว์เซอร์เริ่มต้นของ Android 4.4
สำหรับรายชื่อเบราว์เซอร์รายละเอียดโปรดดูที่: https://caniuse.com/flexbox
(บางทีเมื่อตำแหน่งของมันถูกสร้างขึ้นอย่างสมบูรณ์มันอาจเป็นวิธีที่แนะนำในการจัดองค์ประกอบ)
clearfix เป็นวิธีสำหรับองค์ประกอบในการล้างอิลิเมนต์ลูกโดยอัตโนมัติดังนั้นคุณไม่จำเป็นต้องเพิ่มมาร์กอัพเพิ่มเติม โดยทั่วไปจะใช้ในรูปแบบลอยที่องค์ประกอบลอยเป็นแบบเรียงซ้อนในแนวนอน
clearfix เป็นวิธีการต่อสู้กับปัญหาคอนเทนเนอร์ที่มีความสูงเป็นศูนย์สำหรับองค์ประกอบที่ลอย
clearfix ดำเนินการดังนี้:
.clearfix:after {
content: " "; /* Older browser do not support empty content */
visibility: hidden;
display: block;
height: 0;
clear: both;
}
หรือถ้าคุณไม่ต้องการการสนับสนุน IE <8 ต่อไปนี้ก็ใช้ได้เช่นกัน:
.clearfix:after {
content: "";
display: table;
clear: both;
}
โดยปกติคุณจะต้องทำอะไรบางอย่างดังต่อไปนี้:
<div>
<div style="float: left;">Sidebar</div>
<div style="clear: both;"></div> <!-- Clear the float -->
</div>
ด้วย clearfix คุณต้องการเพียงสิ่งต่อไปนี้:
<div class="clearfix">
<div style="float: left;" class="clearfix">Sidebar</div>
<!-- No Clearing div! -->
</div>
อ่านเกี่ยวกับเรื่องนี้ในบทความนี้โดย Chris Coyer @ CSS-Tricks
div
จะขยายอย่างเต็มที่ถึงความสูงที่เหมาะสมเพื่อล้อมรอบลูกที่ลอยอยู่ webtoolkit.info/css-clearfix.html