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

CSS और JavaScript से टैब्ड इमेज गैलरी कैसे बनाएं?

CSS और JavaScript का उपयोग करके एक टैब्ड इमेज गैलरी (मॉडल गैलरी) बनाने का पूरा कोड नीचे दिया गया है। थंबनेल पर क्लिक करने पर बड़ी इमेज मॉडल में खुलती है।

उदाहरण

<!DOCTYPE html> 
<html> 
<head> 
  <meta name="viewport" content="width=device-width, initial-scale=1" /> 
  <style> 
    * { box-sizing: border-box; } 
    h1 { text-align: center; } 
    .ImgThumbnail { 
      border-radius: 5px; 
      cursor: pointer; 
      transition: 0.3s; 
      height: 250px; 
      width: 250px; 
    } 
    .ImgThumbnail:nth-of-type(1) { 
      margin-left: 20%; 
    } 
    .modal { 
      display: none; 
      position: relative; 
      z-index: 1; 
      padding-top: 100px; 
      left: 0; 
      top: 0; 
      width: 100%; 
      height: 60%; 
      overflow: auto; 
    } 
    .modalImage { 
      margin: auto; 
      display: block; 
      width: 50%; 
      height: 60%; 
      max-width: 700px; 
    } 
    #caption { 
      margin: auto; 
      display: block; 
      width: 80%; 
      max-width: 700px; 
      text-align: center; 
      color: #ccc; 
      padding: 10px 0; 
      height: 150px; 
    } 
    .close { 
      font-weight: bolder; 
      position: absolute; 
      right: 25%; 
      color: #ffffff; 
      font-size: 40px; 
      transition: 0.3s; 
    } 
    .close:hover, .close:focus { 
      color: rgb(255, 0, 0); 
      cursor: pointer; 
    } 
    @media only screen and (max-width: 700px) { 
      .modalImage { width: 100%; } 
    } 
  </style> 
</head> 
<body> 
  <h1>इमेज मॉडल गैलरी उदाहरण</h1> 
  <img class="ImgThumbnail" src="https://images.pexels.com/photos/3635300/pexels-photo-3635300.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/> 
  <img class="ImgThumbnail" src="https://i.picsum.photos/id/237/536/354.jpg"/> 
  <img class="ImgThumbnail" src="https://images.pexels.com/photos/3802510/pexels-photo-3802510.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/> 
  <div class="modal"> 
    <span class="close">×</span> 
    <img class="modalImage" id="img01" /> 
  </div> 
  <script> 
    var modalEle = document.querySelector(".modal"); 
    var modalImage = document.querySelector(".modalImage"); 
    Array.from(document.querySelectorAll(".ImgThumbnail")).forEach(item => { 
      item.addEventListener("click", event => { 
        modalEle.style.display = "block"; 
        modalImage.src = event.target.src; 
      }); 
    }); 
    document.querySelector(".close").addEventListener("click", () => { 
      modalEle.style.display = "none"; 
    }); 
  </script> 
</body> 
</html>

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट उत्पन्न करेगा:

CSS और JavaScript से टैब्ड इमेज गैलरी कैसे बनाएं?

मुख्य विशेषताएं:

  • थंबनेल ग्रिड - छोटी इमेजेस जो क्लिक करने योग्य हैं
  • मॉडल ओवरले - फुलस्क्रीन सेमी-ट्रांसपेरेंट बैकग्राउंड
  • डायनामिक इमेज स्वैप - क्लिक की गई थंबनेल का src मॉडल इमेज में सेट होता है
  • क्लोज बटन - × बटन या बाहर क्लिक करके बंद
  • रिस्पॉन्सिव - मोबाइल पर फुल विड्थ इमेज

सुधार के सुझाव:

  • कीबोर्ड नेविगेशन - Arrow keys से अगली/पिछली इमेज
  • कैप्शन सपोर्ट - alt टेक्स्ट या data-caption एट्रिब्यूट से
  • प्रीलोडिंग - बड़ी इमेजेस को पहले से लोड करें
  • एनीमेशन - फेड इन/आउट ट्रांजिशन
  • ESC की - मॉडल बंद करने के लिए

आधुनिक विकल्प:

प्रोडक्शन के लिए Fancybox, PhotoSwipe या lightGallery जैसी लाइब्रेरीज़ का उपयोग करें।

  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

  1. CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो गैलरी कैसे बनाएं? CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो गैलरी कैसे बनाएं?

    CSS और JavaScript से रिस्पॉन्सिव स्लाइडशो गैलरी बनाने का कोड निम्नलिखित है:उदाहरण<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> * {    box-sizing: border-box; } .Slide {   &