วิธีการสร้าง: เมนูเรียกด้านข้าง
- หน้าก่อนหน้า สไตล์เซ็นเซอร์ที่สามารถแก้ไขได้โดยตรง
- หน้าต่อไป สไตล์เซ็นเซอร์ที่สามารถเปลี่ยนได้โดยตรง
เรียนรู้วิธีการสร้างเมนูเรียกด้านข้างที่มีการเคลื่อนไหวและสามารถปิดได้
สร้างเมนูฝั่งขวางที่มีการเคลื่อนไหวทางอนิมาชั่น
ขั้นที่ 1 - เพิ่ม HTML:
<div id="mySidenav" class="sidenav"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a> <a href="#">About</a> <a href="#">Services</a> <a href="#">Clients</a> <a href="#">Contact</a> </div> <!-- ใช้องค์ประกอบใดก็ได้เพื่อเปิดเมนูฝั่งขวาง --> <span onclick="openNav()">open</span> <!-- หากคุณต้องการให้เมนูฝั่งขวางทำให้เนื้อหาในหน้าหลุดไปทางขวา ให้จัดเนื้อหาทั้งหมดใน div นี้ (หากคุณต้องการให้เมนูฝั่งขวางอยู่ที่ด้านบนของหน้า ให้ไม่ใช้การตั้งค่านี้) --> <div id="main"> ... </div>
ขั้นที่ 2 - เพิ่ม CSS:
/* รายการเมนูฝั่งขวาง */ .sidenav { height: 100%; /* 100% สูง */ width: 0; /* 0 กว้าง - ใช้ JavaScript ที่จะเปลี่ยนค่านี้ */ position: fixed; /* อยู่ที่ที่นั้น */ z-index: 1; /* อยู่ที่ด้านบน */ top: 0; /* อยู่ที่ด้านบน */ left: 0; background-color: #111; /* สีดำ */ overflow-x: hidden; /* ปิดการเลื่อนทางนอกเมื่อมีการแสดงรูปภาพ */ padding-top: 60px; /* จัดตั้งเนื้อหาอยู่ที่ระยะห่างจากด้านบน 60px */ transition: 0.5s; /* 0.5 วินาทีสำหรับประสานงานทางฝั่งขวาง */ } /* ลิงก์เมนูการเน้าเว็บ การเน้าเว็บ */ .sidenav a { padding: 8px 8px 8px 32px; text-decoration: none; font-size: 25px; color: #818181; display: block; transition: 0.3s; } /* แก้ไขสีของลิงก์การเนื่องเบื้องขวาเมื่อเคลื่อนเมาส์เหนือเล่น */ .sidenav a:hover { color: #f1f1f1; } /* ตั้งค่าตำแหน่งและรูปแบบของปุ่มปิด (ขวาบน) */ .sidenav .closebtn { position: absolute; top: 0; right: 25px; font-size: 36px; margin-left: 50px; } /* ตั้งค่ารูปแบบของเนื่องเบื้องขวาของเว็บ - หากคุณต้องการที่จะทำให้เนื่องเบื้องขวาของเว็บเคลื่อนตัวไปทางขวาเมื่อเปิดเนื่องเบื้องขวา ใช้การตั้งค่านี้ */ #main { transition: margin-left .5s; padding: 20px; } /* แก้ไขรูปแบบของเนื่องเบื้องขวาในหน้าจอที่มีความสูงต่ำกว่า 450px (ลดมุมเข้าข้างและขนาดของตัวอักษร) */ @media screen and (max-height: 450px) { .sidenav {padding-top: 15px;} .sidenav a {font-size: 18px;} }
ขั้นที่ 3 - เพิ่ม JavaScript:
ในตัวอย่างด้านล่างนี้ เนื่องเบื้องขวาจะเคลื่อนตัวเข้ามาและมีความกว้าง 250px:
ตัวอย่างที่เนื่องเบื้องขวาที่เคลื่อนตัว
/* ตั้งค่าความกว้างของเนื่องเบื้องขวาของเว็บที่ 250px */ function openNav() { document.getElementById("mySidenav").style.width = "250px"; } /* ตั้งค่าความกว้างของเนื่องเบื้องขวาของเว็บที่ 0 */ function closeNav() { document.getElementById("mySidenav").style.width = "0"; }
ในตัวอย่างด้านล่างนี้ เนื่องเบื้องขวาจะเคลื่อนตัวเข้ามาและเคลื่อนเนื่องเบื้องขวาของเว็บไปทางขวา (ค่าที่ใช้ตั้งค่าความกว้างของเนื่องเบื้องขวาก็ใช้ตั้งค่าความตั้งของด้านหลังของเนื่องเบื้องขวาของเว็บด้วย):
เนื่องเบื้องขวาทำให้เนื่องเบื้องขวาของเว็บเคลื่อนตัว
/* ตั้งค่าความกว้างของเนื่องเบื้องขวาของเว็บที่ 250px และความตั้งของด้านหลังของเนื่องเบื้องขวาของเว็บที่ 250px */ function openNav() { document.getElementById("mySidenav").style.width = "250px"; document.getElementById("main").style.marginLeft = "250px"; } /* ตั้งค่าความกว้างของเนื่องเบื้องขวาของเว็บที่ 0 */ function closeNav() { document.getElementById("mySidenav").style.width = "0"; document.getElementById("main").style.marginLeft = "0"; }
ตัวอย่างด้านล่างจะทำให้เนื่องเบื้องขวาของเว็บเคลื่อนตัวเข้ามาและเคลื่อนเนื่องเบื้องขวาของเว็บไปทางขวาด้วย แต่ครั้งนี้เราได้เพิ่มสีพื้นหลังดำที่มีความอดทน 40% สำหรับ element body เพื่อ "เน้น" ที่เนื่องเบื้องขวา
เนื่องเบื้องขวาที่มีระดับความชัดแสดงต่างกันทำให้เนื่องเบื้องขวาของเว็บเคลื่อนตัว
/* ตั้งค่าความกว้างของเนื่องเบื้องขวาของเน้าเว็บที่ 250px และความตั้งของด้านหลังของเนื่องเบื้องขวาของเว็บที่ 250px และเพิ่มสีพื้นหลังดำสำหรับ body */ function openNav() { document.getElementById("mySidenav").style.width = "250px"; document.getElementById("main").style.marginLeft = "250px"; document.body.style.backgroundColor = "rgba(0,0,0,0.4)"; } /* ตั้งความกว้างของด้านข้างนำทางเป็น 0 ความระยะทางด้านข้างนอกของเนื้อหาหลักเป็น 0 และสีพื้นหลังของ body ให้เป็นสีขาว */ function closeNav() { document.getElementById("mySidenav").style.width = "0"; document.getElementById("main").style.marginLeft = "0"; document.body.style.backgroundColor = "white"; }
ในตัวอย่างด้านล่างนี้ ด้านข้างนำทางจะเลื่อนเข้ามาจากด้านซ้ายและปิดทุกส่วนของเว็บไซต์ (ความกว้าง 100%):
ด้านข้างนำทางครอบคลุมเต็มแบบ
/* เปิดด้านข้างนำทาง */ function openNav() { document.getElementById("mySidenav").style.width = "100%"; } /* ปิด/ซ่อนด้านข้างนำทาง */ function closeNav() { document.getElementById("mySidenav").style.width = "0"; }
ตัวอย่างด้านล่างนี้แสดงวิธีที่เปิดและปิดเมนูด้านข้างนำทางโดยไม่มีอนิมาชัย.
Sidenav โดยไม่มีอนิมาชัย
/* เปิดด้านข้างนำทาง */ function openNav() { document.getElementById("mySidenav").style.display = "block"; } /* ปิด/ซ่อนด้านข้างนำทาง */ function closeNav() { document.getElementById("mySidenav").style.display = "none"; }
ตัวอย่างด้านล่างนี้แสดงวิธีที่ทำให้เมนูด้านข้างนำทางด้านขวา:
ด้านข้างนำทางด้านขวา:
.sidenav { right: 0; }
ตัวอย่างด้านล่างนี้แสดงวิธีที่ทำให้เมนูด้านข้างนำทางแสดงเสมอ (ตำแหน่งคงที่):
ด้านข้างนำทางที่แสดงเสมอ:
/* ด้านข้างนำทาง */ .sidenav { height: 100%; width: 200px; position: fixed; z-index: 1; top: 0; left: 0; background-color: #111; overflow-x: hidden; padding-top: 20px; } /* ช่องเนื้อหาของเว็บไซต์ */ .main { margin-left: 200px; /* กับความกว้างของเมนูช่องด้านข้าง */ }
หน้าที่เกี่ยวข้อง
คู่มือ:CSS ตากระทาย
- หน้าก่อนหน้า สไตล์เซ็นเซอร์ที่สามารถแก้ไขได้โดยตรง
- หน้าต่อไป สไตล์เซ็นเซอร์ที่สามารถเปลี่ยนได้โดยตรง