Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> CSS

วิธีสร้าง Dropup Menu (เมนูขยายขึ้น) ด้วย CSS

สร้าง Dropup Menu (เมนูที่ขยายขึ้นไปด้านบนแทนที่จะลง) ใช้ position: absolute; bottom: 100%; บน Dropdown Content

ตัวอย่างโค้ด

<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> .menu-btn {    background-color: #7e32d4;    color: white;    padding: 16px;    font-size: 20px;    font-weight: bolder;    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;    border: none; } .dropdown-menu {    position: relative;    display: inline-block;    padding-top: 130px; } .menu-content {    display: none;    position: absolute;    bottom: 50px;    background-color: #017575;    min-width: 160px;    z-index: 1; } .links {    color: rgb(255, 255, 255);    padding: 12px 16px;    text-decoration: none;    display: block;    font-size: 18px;    font-weight: bold;    border-bottom: 1px solid black; } .links:hover {    background-color: rgb(8, 107, 46); } .dropdown-menu:hover .menu-content {    display: block; } .dropdown-menu:hover .menu-btn {    background-color: #3e8e41; } </style> </head> <body> <h2>Hover over the below button to open a dropup menu</h2> <div class="dropdown-menu"> <button class="menu-btn">Open <</button> <div class="menu-content"> <a class="links" href="#">Contact Us</a> <a class="links" href="#">Visit Us</a> <a class="links" href="#">About Us</a> </div> </div> </body> </html>

หลักการ Dropup

  • .dropdown-menu { padding-top: 130px; } - ดัน Container ลง เพื่อให้มีพื้นที่ด้านบนสำหรับ Dropup
  • .menu-content { bottom: 50px; } - จุดกำเนิดด้านล่าง ขึ้นไป 50px จากปุ่ม
  • ที่เหลือเหมือน Dropdown ปกติ: position: absolute; display: none; แล้ว :hover -> display: block

กรณีใช้งานจริง

  • ปุ่มอยู่ใกล้ขอบล่างหน้าจอ (Bottom-fixed toolbar)
  • Footer Navigation
  • Chat Input Bar ที่มีเมนูแนบไฟล์/อีโมจิ

ผลลัพธ์

ปุ่มม่วง "Open <<" Hover -> เมนูสีเขียวขยายขึ้นด้านบน 3 รายการ ขีดคั่นสีดำ