Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

CSS और JavaScript से ऑफ-कैनवस मेनू कैसे बनाएं?


ऑफ-कैनवस मेनू (साइड नेविगेशन)

ऑफ-कैनवस मेनू बनाने का कोड - यह बाईं ओर से स्लाइड होकर आता है और मुख्य कंटेंट को दाईं ओर धकेलता है।

उदाहरण

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>ऑफ-कैनवस मेनू</title>
  <style>
    .sideNav {
      height: 100vh;
      width: 0;
      position: fixed;
      z-index: 1;
      top: 0;
      left: 0;
      background-color: rgb(46, 218, 195);
      overflow-x: hidden;
      padding-top: 60px;
      transition: 0.5s;
    }
    .sideNav a {
      padding: 8px 8px 8px 32px;
      text-decoration: none;
      font-size: 25px;
      color: #000000;
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      display: block;
      transition: 0.3s;
    }
    .sideNav a:hover {
      color: #f1f1f1;
    }
    .sideNav .closeBtn {
      position: absolute;
      top: 0;
      right: 25px;
      font-size: 36px;
      margin-left: 50px;
    }
    button {
      padding: 15px;
      background-color: rgb(0, 27, 145);
      color: rgb(255, 255, 255);
      font-size: 20px;
      border: none;
      border-radius: 2%;
    }
    .main-content {
      transition: 0.5s;
    }
  </style>
</head>
<body>
  <nav class="sideNav">
    <a href="#" class="closeBtn">×</a>
    <a href="#">Login</a>
    <a href="#">Register</a>
    <a href="#">Home</a>
    <a href="#">About Us</a>
  </nav>
  
  <main class="main-content">
    <button class="openSideNav">साइड नेव खोलें</button>
    <h1>यहां कुछ सैंपल टेक्स्ट है</h1>
    <p>यहां कुछ रैंडम सैंपल टेक्स्ट भी है</p>
  </main>
  
  <script>
    let openBtn = document.querySelector(".openSideNav");
    openBtn.addEventListener("click", () => { showNav(); });
    
    let closeBtn = document.querySelector(".closeBtn");
    closeBtn.addEventListener("click", () => { hideNav(); });
    
    function showNav() {
      document.querySelector(".sideNav").style.width = "300px";
      document.querySelector('.main-content').style.marginLeft = "300px";
    }
    function hideNav() {
      document.querySelector(".sideNav").style.width = "0";
      document.querySelector('.main-content').style.marginLeft = "0px";
    }
  </script>
</body>
</html>

आउटपुट

  • प्रारंभ में: साइड नेव छुपा हुआ (width: 0)
  • "साइड नेव खोलें" बटन क्लिक करने पर: नेव 300px चौड़ा होता है, मुख्य कंटेंट 300px दाईं ओर खिसकता है
  • बंद बटन (×) या ओवरले क्लिक करने पर: वापस छुप जाता है

मुख्य बिंदु

  • width: 0 से width: 300px ट्रांजिशन के साथ
  • मुख्य कंटेंट पर margin-left ट्रांजिशन से पुश प्रभाव
  • overflow-x: hidden नेव में स्क्रॉल रोकता है
  • z-index: 1 कंटेंट के ऊपर रखता है

वेरिएशन: ओवरले-ओनली (कंटेंट पुश नहीं)

marginLeft लाइन हटाएं और नेव को box-shadow दें ताकि यह कंटेंट के ऊपर लेयर की तरह दिखे।

  1. CSS और JavaScript से कॉलैप्सिबल सेक्शन बनाएं CSS और JavaScript से कॉलैप्सिबल सेक्शन बनाएं

    कॉलैप्सिबल सेक्शन (अकॉर्डियन) वेब पेज पर कंटेंट को व्यवस्थित करने का एक शानदार तरीका है, जिससे उपयोगकर्ता केवल वही देखते हैं जिसमें वे रुचि रखते हैं। उदाहरण <!DOCTYPE html> <html> <head> <meta name=viewport content=width=device-width, initial-scale=1 /> <style> bo

  1. CSS और JavaScript के साथ स्नैकबार/टोस्ट कैसे बनाएं? CSS और JavaScript के साथ स्नैकबार/टोस्ट कैसे बनाएं?

    उदाहरण CSS और JavaScript का उपयोग करके स्नैकबार/टोस्ट बनाने के लिए, निम्न कोड का उपयोग करें: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    body {       font-fa

  1. CSS और JavaScript से एकॉर्डियन कैसे बनाएं CSS और JavaScript से एकॉर्डियन कैसे बनाएं

    CSS और JavaScript से एकॉर्डियन बनाने के लिए, कोड निम्नलिखित है:उदाहरण<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .demo { background-color: #eee; cursor: pointer; padding: 25px; width: 100