CSS - เลย์เอาต์
หวังว่าคุณจะพอใจกับตาราง HTML มากและคุณมีประสิทธิภาพในการออกแบบเค้าโครงหน้าโดยใช้ตาราง HTML แต่คุณก็รู้ว่า CSS ยังมีตัวควบคุมมากมายสำหรับการวางตำแหน่งองค์ประกอบในเอกสาร เนื่องจาก CSS เป็นคลื่นแห่งอนาคตทำไมไม่เรียนรู้และใช้ CSS แทนตารางเพื่อวัตถุประสงค์ในการจัดวางหน้า
รายการต่อไปนี้รวบรวมข้อดีและข้อเสียของเทคโนโลยีทั้งสอง -
เบราว์เซอร์ส่วนใหญ่รองรับตารางในขณะที่การสนับสนุน CSS กำลังถูกนำมาใช้อย่างช้าๆ
ตารางเป็นสิ่งที่ให้อภัยได้มากขึ้นเมื่อขนาดหน้าต่างเบราว์เซอร์เปลี่ยนไป - ปรับเปลี่ยนเนื้อหาและการตัดเพื่อรองรับการเปลี่ยนแปลง การวางตำแหน่ง CSS มีแนวโน้มที่แน่นอนและไม่ยืดหยุ่นพอสมควร
ตารางนั้นง่ายต่อการเรียนรู้และจัดการมากกว่ากฎ CSS
แต่ข้อโต้แย้งเหล่านี้สามารถย้อนกลับได้ -
CSS มีส่วนสำคัญในอนาคตของเอกสารเว็บและเบราว์เซอร์ส่วนใหญ่จะรองรับ
CSS มีความแน่นอนมากกว่าตารางทำให้สามารถดูเอกสารของคุณได้ตามที่คุณต้องการโดยไม่คำนึงถึงหน้าต่างเบราว์เซอร์
การติดตามตารางที่ซ้อนกันอาจเป็นความเจ็บปวดอย่างแท้จริง กฎ CSS มักจะมีการจัดระเบียบที่ดีอ่านง่ายและเปลี่ยนแปลงได้ง่าย
สุดท้ายนี้เราขอแนะนำให้คุณใช้เทคโนโลยีใดก็ตามที่เหมาะสมกับคุณและใช้สิ่งที่คุณรู้หรือสิ่งที่นำเสนอในเอกสารของคุณอย่างดีที่สุด
CSS ยังมีคุณสมบัติเค้าโครงตารางเพื่อให้ตารางของคุณโหลดเร็วขึ้นมาก ต่อไปนี้เป็นตัวอย่าง -
<table style = "table-layout:fixed;width:600px;">
<tr height = "30">
<td width = "150">CSS table layout cell 1</td>
<td width = "200">CSS table layout cell 2</td>
<td width = "250">CSS table layout cell 3</td>
</tr>
</table>
คุณจะสังเกตเห็นประโยชน์มากขึ้นบนโต๊ะขนาดใหญ่ ด้วย HTML แบบเดิมเบราว์เซอร์จะต้องคำนวณทุกเซลล์ก่อนที่จะแสดงผลตารางในที่สุด อย่างไรก็ตามเมื่อคุณตั้งค่าอัลกอริทึมเค้าโครงตารางให้คงที่คุณจะต้องดูแถวแรกเท่านั้นก่อนที่จะแสดงผลทั้งตาราง หมายความว่าตารางของคุณจะต้องมีความกว้างของคอลัมน์และความสูงของแถวคงที่
ตัวอย่างเค้าโครงคอลัมน์
นี่คือขั้นตอนในการสร้าง Column Layout โดยใช้ CSS -
กำหนดระยะขอบและระยะห่างของเอกสารฉบับสมบูรณ์ดังนี้ -
<style style = "text/css">
<!--
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
-->
</style>
ตอนนี้เราจะกำหนดคอลัมน์ด้วยสีเหลืองและหลังจากนั้นเราจะแนบกฎนี้กับ <div> -
<style style = "text/css">
<!--
#level0 {
background:#FC0;
}
-->
</style>
ถึงจุดนี้เราจะมีเอกสารที่มีตัวสีเหลืองดังนั้นให้เรากำหนดส่วนอื่นในระดับ 0 -
<style style = "text/css">
<!--
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
-->
</style>
ตอนนี้เราจะซ้อนอีกหนึ่งแผนกใน level1 และเราจะเปลี่ยนแค่สีพื้นหลัง -
<style style = "text/css">
<!--
#level2 {
background:#FFF3AC;
}
-->
</style>
สุดท้ายเราจะใช้เทคนิคเดียวกันซ้อนการแบ่งระดับ 3 ภายใน level2 เพื่อรับเค้าโครงภาพสำหรับคอลัมน์ด้านขวา -
<style style = "text/css">
<!--
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {
background:#CCC;
}
-->
</style>
กรอกซอร์สโค้ดดังนี้ -
<style style = "text/css">
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
#level0 {background:#FC0;}
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
#level2 {background:#FFF3AC;}
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {background:#CCC;}
</style>
<body>
<div id = "level0">
<div id = "level1">
<div id = "level2">
<div id = "level3">
<div id = "main">
Final Content goes here...
</div>
</div>
</div>
</div>
</div>
</body>
ในทำนองเดียวกันคุณสามารถเพิ่มแถบนำทางด้านบนหรือแถบโฆษณาที่ด้านบนสุดของหน้า
มันจะให้ผลลัพธ์ดังต่อไปนี้ -