231 of 313 menu

คุณสมบัติ position

คุณสมบัติ position กำหนดวิธีการจัดตำแหน่ง ขององค์ประกอบ คุณสมบัตินี้ส่วนใหญ่ มักใช้ร่วมกับคุณสมบัติ top, right, bottom, left, ซึ่งกำหนดระยะห่าง จากด้านบน, ขวา, ล่าง, ซ้าย ตามลำดับ

ไวยากรณ์

selector { position: absolute | relative | fixed | static | sticky; }

ค่าของ position

ค่า คำอธิบาย
absolute การจัดตำแหน่งแบบสัมบูรณ์ องค์ประกอบจะถูกนำออกจากโฟลว์ปกติของเอกสารและถูกจัดตำแหน่ง เทียบกับ ancestor ที่ถูกจัดตำแหน่งที่ใกล้ที่สุด (ถ้ามี) หรือเทียบกับหน้าต่างเบราว์เซอร์
relative การจัดตำแหน่งแบบสัมพัทธ์ องค์ประกอบจะถูกเคลื่อนย้ายเทียบกับตำแหน่งปกติของมัน ในโฟลว์เอกสาร แต่ช่องว่างที่มันเคยครอบครอง ยังคงถูกจองไว้
fixed การจัดตำแหน่งแบบตรึงที่ องค์ประกอบจะถูกนำออกจากโฟลว์ปกติของเอกสารและถูกจัดตำแหน่ง เทียบกับหน้าต่างเบราว์เซอร์ ยังคงอยู่ที่เดิมเมื่อเลื่อนหน้า
static การจัดตำแหน่งแบบคงที่ ค่านี้หมายถึงไม่มีการจัดตำแหน่ง และองค์ประกอบจะทำงานตามปกติ
sticky การจัดตำแหน่งแบบติด องค์ประกอบทำงานเหมือน relative จนกว่าจะถึงตำแหน่งที่กำหนด เมื่อเลื่อน หลังจากนั้นจะติดกับตำแหน่งที่ระบุ (เหมือน fixed)

ค่าเริ่มต้น: static

ตัวอย่าง การจัดตำแหน่งแบบสัมบูรณ์

มาจัดวางองค์ประกอบที่มุมซ้ายบน ของหน้าจอโดยมีระยะห่างเล็กน้อย:

<div class="elem"></div> <div class="main"> some long text </div> .elem { position: absolute; top: 40px; left: 50px; width: 100px; height: 100px; background-color: #98fb98; } .main { width: 400px; text-align: justify; margin: 20px auto; }

:

ตัวอย่าง การจัดตำแหน่งแบบสัมบูรณ์

และตอนนี้มาจัดวางองค์ประกอบที่มุมขวาบน ของหน้าจอโดยมีระยะห่างเล็กน้อย:

<div class="elem"></div> <div class="main"> some long text </div> .elem { position: absolute; top: 40px; right: 50px; width: 100px; height: 100px; background-color: #98fb98; } .main { width: 400px; text-align: justify; margin: 20px auto; }

:

ตัวอย่าง การจัดตำแหน่งแบบตรึงที่

ด้วยการจัดตำแหน่งแบบตรึงที่ องค์ประกอบ จะยังคงอยู่ที่เดิมเมื่อเลื่อน:

<div class="elem"></div> <div class="main"> some long text </div> .elem { position: fixed; top: 40px; left: 50px; width: 100px; height: 100px; background-color: #98fb98; } .main { width: 400px; text-align: justify; margin: 20px auto; }

:

ตัวอย่าง การจัดตำแหน่งแบบสัมพัทธ์

ด้วยการจัดตำแหน่งแบบสัมพัทธ์ องค์ประกอบจะถูกเคลื่อนย้าย เทียบกับตำแหน่งปกติของมัน แต่องค์ประกอบอื่นๆ ยังคงทำงาน ราวกับว่าองค์ประกอบไม่ได้ถูกเคลื่อนย้าย:

<div class="container"> <div class="elem elem1"></div> <div class="elem elem2"></div> <div class="elem elem3"></div> </div> .container { display: flex; justify-content: flex-row; } .elem { margin: 0 3px; width: 100px; height: 100px; background-color: #add8e6; } .elem2 { position: relative; top: 20px; left: 30px; background-color: #e6addf; }

:

ตัวอย่าง การซ้อนกัน

หาก parent มีคุณสมบัติ position เป็นค่า relative องค์ประกอบที่ถูกจัดตำแหน่งแบบสัมบูรณ์ จะถูกจัดตำแหน่งเทียบกับ parent:

<div class="container"> <div class="elem"></div> </div> .container { position: relative; border: 1px solid red; width: 500px; height: 300px; } .elem { position: absolute; top: 0px; right: 0px; width: 100px; height: 100px; background-color: #add8e6; }

:

ตัวอย่าง การซ้อนกัน

หาก parent มีคุณสมบัติ position เป็นค่า absolute องค์ประกอบที่ถูกจัดตำแหน่งแบบสัมบูรณ์ จะถูกจัดตำแหน่งเทียบกับ parent:

<div class="container"> <div class="elem"></div> </div> .container { position: absolute; top: 30px; left: 30px; border: 1px solid red; width: 500px; height: 300px; } .elem { position: absolute; top: 0px; right: 0px; width: 100px; height: 100px; background-color: #add8e6; }

:

ตัวอย่าง การจัดตำแหน่งแบบติด

หากองค์ประกอบมีคุณสมบัติ position เป็นค่า sticky องค์ประกอบจะ ทำงานเหมือน relative จนกว่าจะถึงตำแหน่งที่กำหนด เมื่อเลื่อน หลังจากนั้นจะติดกับตำแหน่งนั้น มาสร้าง header ติดกัน:

<h1>Main Site Header</h1> <div class="header">header header header</div> <div class="main"> some long text </div> h1 { text-align: center; } .header { position: sticky; top: 0; padding: 20px; background: #f0f0f0; text-align: center; font-weight: bold; } .main { width: 400px; margin: 20px auto; border: 1px solid #ccc; padding: 20px; text-align: justify; }

:

ตัวอย่าง ไม่มีตำแหน่ง

หากกำหนดการจัดตำแหน่งแบบสัมบูรณ์ให้องค์ประกอบ โดยไม่ระบุตำแหน่ง องค์ประกอบ จะยังคงอยู่ที่เดิม ที่มันเคยอยู่โดยไม่มีการจัดตำแหน่ง แต่องค์ประกอบอื่นๆ จะหยุด สังเกตเห็นมัน:

<div class="container"> <div class="elem elem1"></div> <div class="elem elem2"></div> <div class="elem elem3"></div> </div> .container { position: relative; border: 1px solid red; width: 500px; height: 300px; } .elem { display: inline-block; } .elem2 { position: absolute; width: 50px; height: 50px; background-color: #e6addf; } .elem1, .elem3 { width: 100px; height: 100px; background-color: #add8e6; }

:

ตัวอย่าง แกนเดียว

ในการจัดตำแหน่งแบบสัมบูรณ์ สามารถกำหนดตำแหน่ง เพียงแค่แกนเดียวได้ ตัวอย่างเช่น หากเรากำหนดคุณสมบัติ top ในแนวตั้งองค์ประกอบจะอยู่ใน ตำแหน่งที่ต้องการ ส่วนในแนวนอนจะยังคงอยู่ ที่เดิม:

<div class="container"> <div class="elem elem1"></div> <div class="elem elem2"></div> <div class="elem elem3"></div> </div> .container { position: relative; border: 1px solid red; width: 500px; height: 300px; } .elem { display: inline-block; } .elem2 { position: absolute; top: 20px; width: 50px; height: 50px; background-color: #e6addf; } .elem1, .elem3 { width: 100px; height: 100px; background-color: #add8e6; }

:

ตัวอย่าง ทุกตำแหน่ง

ในการจัดตำแหน่งแบบสัมบูรณ์ สามารถกำหนดตำแหน่ง จากทุกด้านได้ โดยไม่ต้องกำหนดความกว้างและความสูง ในกรณีนี้องค์ประกอบจะอยู่ ตรงกลางของบล็อก parent:

<div class="container"> <div class="elem"></div> </div> .container { position: relative; border: 1px solid red; width: 500px; height: 300px; } .elem { position: absolute; top: 20px; bottom: 20px; left: 20px; right: 20px; background-color: #add8e6; }

:

ดูเพิ่มเติม

  • คุณสมบัติ z-index,
    ซึ่งกำหนดการซ้อนทับขององค์ประกอบ
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ