⊗mkPmLtTCS 245 of 250 menu

แบบแผนเลย์เอาต์สองคอลัมน์ของเว็บไซต์ใน CSS

มาสร้างเลย์เอาต์สองคอลัมน์รูปแบบต่อไปนี้กัน:

เริ่มต้นด้วยการสร้างโครงสร้างหลักของหน้า:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="content"> content </div> <div id="sidebar"> sidebar </div> </div> <div id="footer"> footer </div> </div>

ตอนนี้ตั้งสไตล์ให้กับ wrapper โดยจัดให้อยู่กึ่งกลางหน้าจอ:

#wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; }

ต่อไปมากำหนดสไตล์ให้กับ header และ footer:

#header { height: 200px; border: 1px solid black; } #footer { height: 200px; border: 1px solid black; }

อย่างที่คุณเห็น เราได้กำหนดความสูงให้กับ header และ footer เราทำอย่างนี้เพราะในแบบแผนของเราพวกเขาไม่มีเนื้อหา หากมีเนื้อหาอยู่ ไม่ควรกำหนดความสูงให้กับบล็อก - มันจะถูกกำหนดขึ้นโดยเนื้อหาของพวกเขา

ยังไงก็ตาม โปรดทราบว่าเราไม่ได้กำหนดความกว้างให้กับพวกเขา สาเหตุคือ header และ footer เป็นองค์ประกอบระดับบล็อก และความกว้างของพวกเขาจะเท่ากับความกว้างของ wrapper โดยอัตโนมัติ

ตอนนี้มากำหนด padding ให้กับพวกเขา เพื่อให้ข้อความไม่ติดขอบ:

#header { height: 200px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }

อย่างไรก็ตาม การมี padding จะส่งผลเสียต่อขนาดของบล็อก - พวกเขาจะกลายเป็นใหญ่กว่าที่ระบุไว้ มาปรับพฤติกรรมของบล็อกทั้งหมด เพื่อให้ padding และเส้นขอบไม่ทำให้บล็อกของเราขยายออก:

* { box-sizing: border-box; }

ตอนนี้เราต้องวางเนื้อหาและแถบด้านข้างไว้ในแถวเดียวกัน ทำได้โดยใช้ flex:

#container { display: flex; }

มากำหนดความกว้างให้กับเนื้อหาและแถบด้านข้าง ในขณะที่ผลรวมความกว้างของพวกเขาควรเท่ากับความกว้างของ wrapper:

#content { width: 800px; } #sidebar { width: 200px; }

สมมติว่าเราต้องการสร้างระยะห่างระหว่างแถบด้านข้างและเนื้อหา ในกรณีนี้จำเป็นต้องกำหนด margin ให้กับแถบด้านข้าง ในขณะเดียวกันเราจะต้องหักความกว้างสำหรับ margin นี้จากบางคน มาหักจากเนื้อหา โดยลดความกว้างของมันลง:

#content { width: 780px; } #sidebar { width: 200px; margin-right: 20px; }

ตอนนี้มาเพิ่มความสูง เนื่องจากองค์ประกอบของเราไม่มีเนื้อหา เพียงเพิ่มความสูงให้กับองค์ประกอบเดียวก็พอ เพราะองค์ประกอบ flex ที่สองจะปรับตามความสูง (ทำไม?) มากำหนดความสูงให้กับเนื้อหา:

#content { width: 780px; height: 700px; } #sidebar { width: 200px; margin-right: 20px; }

มาเพิ่มสไตล์ที่เหลือให้กับเนื้อหาและแถบด้านข้าง:

#content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; }

ทั้งหมดนี้ เลย์เอาต์ของเราพร้อมแล้ว มาชมรวบรวมโค้ดทั้งหมดเข้าด้วยกัน:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="sidebar"> sidebar </div> <div id="content"> content </div> </div> <div id="footer"> footer </div> </div> * { box-sizing: border-box; } #wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; } #header { height: 200px; padding: 20px; border: 1px solid black; } #container { display: flex; } #content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ