วิธี ตั้งความสูงของ Div ใน HTML ด้วย CSS
สำหรับการจัดเลย์เอาต์แบบตาราง
การสร้างเลย์เอาต์เว็บที่น่าสนใจสามารถเป็นความท้าทาย โดยเฉพาะเมื่อพยายามให้แน่ใจว่าองค์ประกอบต่างๆ แสดงผลอย่างถูกต้องข้างกัน หากคุณกำลังจัดการกับการจัดเลย์เอาต์แบบสองคอลัมน์ ตัวอย่างเช่น อาจเป็นเรื่องยากที่จะรักษาความสูงที่สอดคล้องกันในแต่ละคอลัมน์ โดยเฉพาะเมื่อเนื้อหาของพวกมันแตกต่างกันอย่างมีนัยสำคัญในขนาด
ในโพสต์นี้ เราจะพูดถึงปัญหาที่มักพบในนักพัฒนาเว็บ: วิธีตั้งความสูงของ div อย่างมีประสิทธิภาพเพื่อให้ตรงกันในเชิงสายตามกับเนื้อหาที่อยู่ติดกัน ในขณะที่มั่นใจว่าจะมีสีพื้นหลังที่สอดคล้องกันเติมพื้นที่นั้น
ปัญหา
ลองจินตนาการว่าคุณมีการจัดเลย์เอาต์ที่มีสองคอลัมน์ที่:
- คอลัมน์ซ้าย: มีเนื้อหาจำนวนมาก
- คอลัมน์ขวา: มีข้อความที่สั้นกว่าซึ่งต้องรักษาความสูงให้สม่ำเสมอไปถึงเส้นแบ่งของแถวด้านล่าง
ตัวอย่างสถานการณ์
คุณจะพบกับสถานการณ์เช่นนี้ใน HTML/CSS บ่อยครั้ง ที่คุณต้องการให้คอลัมน์ขวามีสีพื้นหลังที่ชัดเจนแต่ยังต้องการให้มันยืดสูงพอสมควรเพื่อให้ตรงกับความสูงของคอลัมน์ซ้ายซึ่งอาจมีเนื้อหามากมาย
วิธีแก้ปัญหา
การ แก้ไขอย่างรวดเร็ว โดยการตั้งค่าความสูงเป็น 100% ใน div ของคุณอาจไม่ทำงานในดีไซน์ที่ซับซ้อน นี่คือวิธีการที่ดีกว่าและเป็นระเบียบในการทำให้แน่ใจว่าคอลัมน์ของคุณจัดเรียงได้อย่างถูกต้อง:
ขั้นตอนที่ 1: ตั้งค่าความสูงของ HTML และ Body
เริ่มต้นโดยการทำให้แน่ใจว่าองค์ประกอบ body และ html มีความสูงที่กำหนด นี่เป็นสิ่งสำคัญมาก เพราะถ้าความสูงของพวกเขาไม่ได้ตั้งเป็น 100% div ย่อยจะไม่ยืดตามที่คาดหวัง
html, body {
height: 100%;
}
ขั้นตอนที่ 2: สร้าง Wrapper
เพื่อจัดการความสูงและเลย์เอาต์ได้อย่างมีประสิทธิภาพมากขึ้น ให้สร้าง <div>
เป็นแถวสำหรับคอลัมน์ของคุณ Wrapper นี้จะช่วยรักษาความสูงของคอลัมน์ที่ลอยตัว
<div class="wrapper">
<div class="left"> ... </div>
<div class="rightfloat"> ... </div>
</div>
ขั้นตอนที่ 3: ใช้คุณสมบัติ Float
ถัดไป คุณจะลอยคอลัมน์ซ้ายและขวา จำไว้ว่าต้องล้างลอยใน wrapper ด้วยเพื่อให้มันยืดไปถึงความสูงของคอลัมน์
.wrapper {
overflow: auto; /* ล้างลอยเพื่อให้มั่นใจว่าความสูงเต็ม */
}
.left {
float: left;
width: 70%; /* ปรับความกว้างตามการจัดเลย์เอาต์ของคุณ */
}
.rightfloat {
float: right;
width: 200px;
background-color: #BBBBBB; /* สีพื้นหลังที่ชัดเจน */
}
ขั้นตอนที่ 4: จัดการการจัดเลย์เอาต์
เพื่อจัดการกับขอบอย่างมีประสิทธิภาพ (โดยเฉพาะปัญหา"ขอบลอยคู่" ที่ลือชื่อใน IE) ให้แน่ใจว่า:
- คุณตั้งค่า
margin: 0;
ให้กับองค์ประกอบที่ลอย - ตรวจสอบองค์ประกอบ wrapper ของคุณสำหรับมาร์จิ้นเพิ่มเติมที่อาจส่งผลต่อความสูง
การปรับแต่งครั้งสุดท้าย
เป็นความคิดที่ดีเสมอที่จะตรวจสอบว่าเลย์เอาต์ของคุณปรับตัวอย่างไรในเบราว์เซอร์ที่แตกต่างกัน ใช้เครื่องมือพัฒนาเบราว์เซอร์เพื่อปรับและแก้ไขปัญหาสไตล์ที่เกิดขึ้น
สรุป
โดยการทำตามขั้นตอนเหล่านี้ คุณควรมีวิธีการที่แข็งแกร่งในการรักษาความสูงที่เท่ากันสำหรับส่วน div ในการจัดเลย์เอาต์แบบคอลัมน์ ซึ่งจะช่วยให้สีพื้นหลังเติมพื้นที่ที่จำเป็นและให้การออกแบบภาพที่สอดคล้องมากขึ้น
หากคุณมีคำถามเพิ่มเติมหรือประสบการณ์ที่คุณต้องการแบ่งปันเกี่ยวกับความท้าทายในการจัดเลย์เอาต์ CSS โปรดอย่าลังเลที่จะทิ้งความคิดเห็นไว้ด้านล่าง!