เช่นเดียวกับนักพัฒนาส่วนหน้าหลายๆ คนที่ฉันเคยพบในอาชีพของฉัน ฉันเข้าใจ HTML, CSS และ JavaScript ในระดับที่เชี่ยวชาญ แต่จุดเล็กๆ น้อยๆ ของ CSS float ยังคงเป็นจุดอ่อนของฉัน
โปรเจ็กต์ล่าสุดของฉันมีเลย์เอาต์ที่เรียบง่ายซึ่งดูเหมือนเป็นตัวเลือกที่สมบูรณ์แบบสำหรับการปรับปรุงความเข้าใจเกี่ยวกับการลอยตัวของฉัน การบรรลุผลสำเร็จด้วยการวางตำแหน่งที่แน่นอนไม่ใช่เรื่องเล็กน้อย แต่ฉันต้องการพิจารณาว่าการลอยตัวสามารถทำได้เช่นเดียวกันหรือไม่
นี่คือการจำลองแบบง่ายของเค้าโครงที่ต้องการ:
ฉันตั้งค่าตัวอย่าง JSBin ให้เป็นจุดเริ่มต้นที่ดี:
http://jsbin.com/UPUzUWU/1/edit?html,css,output
ฉันใช้เวลาประมาณ 20 นาทีในการเล่นว่ากล่องไหนลอยอยู่ วิธีลอย กล่องไหนเคลียร์ วิธีเคลียร์ และแม้แต่การเรียงลำดับของ HTML ฉันเข้าใกล้แล้ว แต่ไม่มีซิการ์
มีใครสามารถทำงานนี้ได้โดยไม่ต้องหันไปใช้ตำแหน่งที่แน่นอน (การเรียงลำดับ HTML ใหม่ก็ใช้ได้หากจำเป็น) หากเป็นเช่นนั้น คุณช่วยพยายามอย่างเต็มที่เพื่ออธิบายหลักการเบื้องหลังได้ไหม
ขอบคุณ!
แก้ไข:
ขออภัย ฉันควรจะชี้แจงให้กระจ่าง - แม้ว่าการเรียงลำดับ HTML สำหรับกล่องต่างๆ ก็เป็นเรื่องปกติ แต่ฉันไม่อยากรวมหลายกล่องไว้ในองค์ประกอบหลักทั่วไป โปรดสันนิษฐานว่าในทางความหมาย สิ่งเหล่านี้ทั้งหมดจะเก็บเนื้อหาในระดับเดียวกันของลำดับชั้นของเลย์เอาต์ (กล่าวคือ เนื้อหาเหล่านี้เป็นพี่น้องกันทางความหมายทั้งหมด) ดังนั้น ตามหลักการแล้ว พวกเขาจะไม่แชร์องค์ประกอบพาเรนต์ที่ไม่ใช่เชิงความหมายซึ่งมีอยู่เพียงเพื่อวัตถุประสงค์ในการลดความซับซ้อนของสไตล์เท่านั้น .
นอกจากนี้ วิธีการดังกล่าวยังช่วยให้เหลือองค์ประกอบ 3 อย่างลอยอยู่ ซึ่งเป็นวิธีการพื้นฐานเกินไปที่จะให้ความกระจ่างมากขึ้นเกี่ยวกับวิธีการทำงานของโฟลต