เรียนรู้วิธีการสร้างภาพเคลื่อนไหวเมนูนำทางด้านข้าง closable
สร้างเคลื่อนไหวด้านการเดินเรือ
ขั้นตอนที่ 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>
<!-- Use any element to open the sidenav -->
<span onclick="openNav()">open</span>
<!-- Add all page content inside this div if you want the side nav to
push page content to the right (not used if you only want the sidenav to
sit on top of the page -->
<div id="main">
...
</div>
ขั้นตอนที่ 2) เพิ่ม CSS:
ตัวอย่าง
/* The side navigation menu */
.sidenav {
height: 100%; /*
100% Full-height */
width: 0; /* 0 width - change this
with JavaScript */
position: fixed; /* Stay in place
*/
z-index: 1; /* Stay on top */
top: 0;
left: 0;
background-color: #111; /* Black*/
overflow-x: hidden; /* Disable horizontal scroll */
padding-top: 60px; /* Place content 60px from the top */
transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}
/* The navigation menu links */
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s
}
/* When you mouse over the navigation links,
change their color */
.sidenav a:hover, .offcanvas a:focus{
color: #f1f1f1;
}
/* Position and style the close button (top
right corner) */
.closebtn {
position:
absolute;
top: 0;
right: 25px;
font-size: 36px !important;
margin-left: 50px;
}
/* Style page content - use this if you want to push the page content to
the right when you open the side navigation */
#main {
transition: margin-left .5s;
padding: 20px;
}
/* On smaller screens, where height is less than
450px, change the style of the sidenav (less padding and a smaller font
size) */
@media screen and (max-height: 450px) {
.sidenav
{padding-top: 15px;}
.sidenav a {font-size: 18px;}
}
ขั้นตอนที่ 3) เพิ่ม JavaScript:
ตัวอย่างด้านล่างภาพนิ่งในการนำทางด้านข้างและทำให้มัน 250px กว้าง:
Sidenav ตัวอย่างซ้อนทับ
/* Set
the width of the side navigation to 250px */
function
openNav() {
document.getElementById("mySidenav").style.width
= "250px";
}
/*
Set the width of the side navigation to 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
ลองตัวเอง» ตัวอย่างด้านล่างภาพนิ่งในการนำทางด้านข้างและผลักดันเนื้อหาของหน้าไปทางขวา (มูลค่าที่ใช้ในการกำหนดความกว้างของ sidenav ยังถูกนำมาใช้ในการกำหนดระยะขอบซ้ายของ "เนื้อหาของหน้า"):
Sidenav ดันเนื้อหา
/* Set the width of the side navigation to 250px and the left margin of the
page content to 250px */
function
openNav() {
document.getElementById("mySidenav").style.width
= "250px";
document.getElementById("main").style.marginLeft
= "250px";
}
/* Set the width of the side navigation to 0 and the
left margin of the page content to 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
}
ลองตัวเอง» ตัวอย่างด้านล่างนี้ยังสไลด์ในการนำทางด้านข้างและผลักดันเนื้อหาของหน้าไปทางขวา แต่คราวนี้เราเพิ่มสีพื้นหลังสีดำที่มีความทึบ 40% ถึงองค์ประกอบร่างกายเพื่อ "highlight" การนำทางด้านข้าง:
Sidenav ดันเนื้อหา w / ทึบ
/* Set the width of the side navigation to 250px and the left margin of the
page content to 250px and add a black background color to 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)";
}
/* Set the width of the side navigation to 0 and the
left margin of the page content to 0, and the background color of body to
white */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
document.getElementById("main").style.marginLeft = "0";
document.body.style.backgroundColor = "white";
}
ลองตัวเอง» ตัวอย่างด้านล่างภาพนิ่งในการนำทางด้านข้างจากด้านซ้ายและครอบคลุมทั้งหน้า (100% width) :
Sidenav เต็มความกว้าง:
/* Open the sidenav */
function
openNav() {
document.getElementById("mySidenav").style.width
= "100%";
}
/* Close/hide the sidenav */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
ลองตัวเอง» ตัวอย่างด้านล่างเปิดและปิดเมนูนำทางด้านข้างโดยไม่ต้องภาพเคลื่อนไหว:
โดยไม่ต้อง Sidenav นิเมชั่น
/* Open the sidenav */
function
openNav() {
document.getElementById("mySidenav").style.display
= "block";
}
/* Close/hide the sidenav */
function closeNav() {
document.getElementById("mySidenav").style.display = "none";
}
ลองตัวเอง» เคล็ดลับ: ไปเรา CSS Navbar กวดวิชา ที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแถบนำทาง