Create A Responsive Popup Image Gallery Using HTML CSS And Vanilla Javascript

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024
  • how to make a simple responsive lightbox image gallery using html css and vanilla javascript.
    create a image popup gallery on click using vanilla javascript.
    images are from unsplash:
    unsplash.com/
    New To My Channel Subscribe Now And See More Stuff Like This:
    / @mrwebdesigneranas
    #ImageGallery
    #LightboxGallery
    #Javascript

ความคิดเห็น • 129

  • @MuraliKrishna-wn2bf
    @MuraliKrishna-wn2bf 2 ปีที่แล้ว +4

    after refreshing or reloading the popup image is not collapsing...

  • @tenc6491
    @tenc6491 2 ปีที่แล้ว +13

    Awesome and very efficiently explained. This was exactly the video I was looking for. Thanks a ton for the help. Subscribed happily!

  • @toma1610
    @toma1610 2 ปีที่แล้ว +7

    Nice; however, I‘d like to also see the prev and next ARROWS, especially for mobile devices.

  • @nuraktar7815
    @nuraktar7815 3 ปีที่แล้ว +3

    Here is a new request for upcoming video: make a pop up image viewer with next and previous img button using css, vanilla js

  • @cameronfletcher6506
    @cameronfletcher6506 ปีที่แล้ว +1

    When I click on the 2nd image the 1st image popup shows up anyone else have this issue ?

  • @erob9446
    @erob9446 ปีที่แล้ว +1

    did I do it right? (empty img srcs)

    * {
    margin:0; padding:0;
    box-sizing: border-box;
    }
    .container{
    position: relative;
    min-height: 100vh;
    background: white;
    }
    .container .image-container{
    display: flex;
    flex-wrap: wrap;
    gap:15px;
    justify-content: center;
    padding: 10px;
    }
    .container .image-container .image{
    height: 250px;
    width: 350px;
    border:10px solid white;
    box-shadow: 0 5px 15px black;
    overflow:hidden;
    cursor: pointer;
    }
    .container .image-container .image img{
    height:100%;
    width:100%;
    object-fit: cover;
    transition: .2s linear;
    }
    .container .image-container .image:hover img{
    transform: scale(1.1);
    }
    .container .popup-image{
    position: fixed;
    top:0; left:0;
    background: black;
    height:100%;
    width:100%;
    z-index:100
    }
    .container .popup-image span{
    position: absolute;
    top:0; right:10px;
    font-size: 40px;
    font-weight: bolder;
    color: white;
    cursor: pointer;
    z-index: 100;
    }

    .container .popup-image img{
    position: absolute;
    top: 50%; left:50%;
    transform: translate(-50%, -50%);
    border:5px solid white;
    border-radius: 5px;
    width:750px;
    object-fit: cover;
    }
    @media (max-width:768px){
    .container .popup-image img{
    width:95%;
    }









    ×


    document.queryselectorall('.image-container img').foreach(image =>{
    image.onclick = () =>{}
    document.queryselector('.popup-image').style.display = 'block';
    document.queryselector('.popup-image img').src = image.getattribute('src');
    }
    });
    document.queryselector('popup-image span').onclick = () =>{
    document.queryselector('.popup-image').style.display = 'none';
    }

    • @leacksunleacks1864
      @leacksunleacks1864 ปีที่แล้ว

      You is the GOAT !!! Thank you very very very very very very very very much !

    • @manastewari311
      @manastewari311 ปีที่แล้ว +1

      * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      }
      .container {
      position: relative;
      min-height: 100vh;
      background: white;
      }
      .container .image-container {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      justify-content: center;
      padding: 10px;
      }
      .container .image-container .image {
      height: 250px;
      width: 350px;
      border: 10px solid white;
      box-shadow: 0 5px 15px black;
      overflow: hidden;
      cursor: pointer;
      }
      .container .image-container .image img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition: 0.2s linear;
      }
      .container .image-container .image:hover img {
      transform: scale(1.1);
      }
      .container .popup-image {
      position: fixed;
      top: 0;
      left: 0;
      background: black;
      height: 100%;
      width: 100%;
      z-index: 100;
      display: none;
      }
      .container .popup-image span {
      position: absolute;
      top: 0;
      right: 10px;
      font-size: 40px;
      font-weight: bolder;
      color: white;
      cursor: pointer;
      z-index: 100;
      }
      .container .popup-image img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border: 5px solid white;
      border-radius: 5px;
      width: 750px;
      object-fit: cover;
      }
      @media (max-width: 768px) {
      .container .popup-image img {
      width: 95%;
      }
      }















      ×




      document.querySelectorAll(".image img").forEach(image => {
      image.onclick = () => {
      document.querySelector(".popup-image").style.display = "block";
      document.querySelector(".popup-image img").src =
      image.getAttribute("src");
      };
      });
      document.querySelector(".popup-image span").onclick = () => {
      document.querySelector(".popup-image").style.display = "none";
      };


      Corrected Code...!!

    • @leacksunleacks1864
      @leacksunleacks1864 ปีที่แล้ว

      @@manastewari311 THANK YOU VERRY MUCH!!!!!!!!!!!!! I needed it for my project thank you very much

  • @pepey003
    @pepey003 5 หลายเดือนก่อน +1

    exclente vidio, it´s so usefull, sorry for mi writing im from argentina
    tremendo muchas gracias

  • @keroppisapo
    @keroppisapo ปีที่แล้ว +3

    Thank you for your tutorial it worked like a charm!
    I don't want to bother but do you know how to add caption for every image in the popup view? I'm trying to use figcaption to pass through the .popup-image but I'm not getting it. I also made a Stack Overflow's post but they marked as a duplicate (and the marked previously post didn't respond my question).
    Please if you could help me I'd be so glad.

  • @janithjayasinghe9462
    @janithjayasinghe9462 ปีที่แล้ว +1

    How to use this method to view specific product details of ecommerce website?

  • @xmenky
    @xmenky 5 หลายเดือนก่อน

    Sorry man but the Js isn't working in my code

  • @JPiXeL
    @JPiXeL 5 หลายเดือนก่อน

    i know i'm 2 years late to this video, but i coded an area underneath the pop-up images where a title, date and description would appear, pulling from the hidden h4 and p tags in the square with the id function
    problem is, i can only have the title and description of the first image appear, and it'll display that same title and description under all the images
    i was wondering if there's a certain way to have it so that the title and description changes independently for each image?

  • @hafezagina
    @hafezagina ปีที่แล้ว

    Hi, Mr. Shaikh Anas. I would like to have the code please. Could you please upload it to buy me a coffee?

  • @gmaservicios3826
    @gmaservicios3826 2 ปีที่แล้ว +1

    puedes pasarme el codigo!

  • @pallavipradhan156
    @pallavipradhan156 4 หลายเดือนก่อน

    From unsplash website at what resolution we have to download for image gallery

  • @omegaraoul
    @omegaraoul 8 หลายเดือนก่อน

    It seem every time I load the page it will automatically show the popup image, is there something I' missed

  • @manastewari311
    @manastewari311 ปีที่แล้ว +1

    * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    }
    .container {
    position: relative;
    min-height: 100vh;
    background: white;
    }
    .container .image-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    padding: 10px;
    }
    .container .image-container .image {
    height: 250px;
    width: 350px;
    border: 10px solid white;
    box-shadow: 0 5px 15px black;
    overflow: hidden;
    cursor: pointer;
    }
    .container .image-container .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: 0.2s linear;
    }
    .container .image-container .image:hover img {
    transform: scale(1.1);
    }
    .container .popup-image {
    position: fixed;
    top: 0;
    left: 0;
    background: black;
    height: 100%;
    width: 100%;
    z-index: 100;
    display: none;
    }
    .container .popup-image span {
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 40px;
    font-weight: bolder;
    color: white;
    cursor: pointer;
    z-index: 100;
    }
    .container .popup-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 5px solid white;
    border-radius: 5px;
    width: 750px;
    object-fit: cover;
    }
    @media (max-width: 768px) {
    .container .popup-image img {
    width: 95%;
    }
    }















    ×




    document.querySelectorAll(".image img").forEach(image => {
    image.onclick = () => {
    document.querySelector(".popup-image").style.display = "block";
    document.querySelector(".popup-image img").src =
    image.getAttribute("src");
    };
    });
    document.querySelector(".popup-image span").onclick = () => {
    document.querySelector(".popup-image").style.display = "none";
    };


    Code!!

    • @JJ-nv6nl
      @JJ-nv6nl ปีที่แล้ว

      Life saver

  • @haryoolule5690
    @haryoolule5690 2 ปีที่แล้ว

    thank you very much, still have some issue to ADDRESS

  • @mohammedminhaz8
    @mohammedminhaz8 ปีที่แล้ว

    bro... how you make the cross icon without any i tag

  • @mosesimmanuel1591
    @mosesimmanuel1591 3 ปีที่แล้ว +1

    Nice Sir This Video Very Useful Sir Thank You Sir🤩

  • @tusharsharma4534
    @tusharsharma4534 2 ปีที่แล้ว

    why that popup is showed when I refresh my webpage

  • @nuraktar7815
    @nuraktar7815 3 ปีที่แล้ว +2

    Simple Easy Fast Forward... so nice tutorial

  • @animelibrary1256
    @animelibrary1256 ปีที่แล้ว

    How can I add captions with every image when it pos-open?

  • @CODEZAYED
    @CODEZAYED 2 ปีที่แล้ว +1

    code please

  • @tomaco7310
    @tomaco7310 2 ปีที่แล้ว +2

    Thank you! Very helpful, subbed!

  • @whossvero
    @whossvero 2 หลายเดือนก่อน

    gracias bro

  • @compmadman
    @compmadman 3 ปีที่แล้ว +1

    great!code pls

  • @kinglucky5122
    @kinglucky5122 ปีที่แล้ว

    Very efficiently explained. Thanks for help, Subscribed❣

  • @lithembasolontsi7174
    @lithembasolontsi7174 8 หลายเดือนก่อน

    I want to write descriptions at the pop up images,how do l do it

  • @ayushbro6988
    @ayushbro6988 5 หลายเดือนก่อน

    pls source code

  • @leonardotorres6267
    @leonardotorres6267 2 ปีที่แล้ว

    Why wont my x button work when an image pops up i cant find the error? i placed it on a section of the website

  • @fernandoaguirre8359
    @fernandoaguirre8359 2 ปีที่แล้ว

    help!! I cant close de popup image with cross! i cant find the error. i have to use some script to use this code? Help!!!!!

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      check your javascript code!

    • @fernandoaguirre8359
      @fernandoaguirre8359 2 ปีที่แล้ว

      @@MrWebDesignerAnas its the same! I have to use some script to make it works? I didnt see in the video. Can i try changing classes names?

  • @sscalerts
    @sscalerts 3 ปีที่แล้ว

    How to add download button,
    This download button should be every image bottom.

  • @media7588
    @media7588 2 ปีที่แล้ว +1

    don't work

  • @ashujain5853
    @ashujain5853 3 หลายเดือนก่อน

    Helped a lot....thank you so much

  • @BogdanSimionDev
    @BogdanSimionDev 2 ปีที่แล้ว

    Any idea why its moving all my images to the right when it pops up ?

  • @احمدمحمد-ش9ذ5ر
    @احمدمحمد-ش9ذ5ر ปีที่แล้ว

    i want with indicator right and left

  • @praveenandrew
    @praveenandrew 3 ปีที่แล้ว

    Bro how to create fab icon on bottom corner when scroll down example: icon with text when scroll down only icon will be appear in bottom corner

  • @stwarrior9983
    @stwarrior9983 2 ปีที่แล้ว

    Nice one again, keep it up

  • @pichitiem205
    @pichitiem205 5 หลายเดือนก่อน

    thank you so much good code;

  • @muhammadfaiznorepohan3019
    @muhammadfaiznorepohan3019 6 หลายเดือนก่อน

    this what i looking forrrr

  • @pranshusati5818
    @pranshusati5818 2 ปีที่แล้ว

    the java script did not work

  • @rafaelmariano3195
    @rafaelmariano3195 ปีที่แล้ว

    It's beautiful Mr. Web Designer. Very well explained e easy entendment. Please continue in the videos!!
    Thanks and sucess ever

  • @CODEZAYED
    @CODEZAYED 2 ปีที่แล้ว

    code please😅😅😅

  • @brindhalakshmanan6532
    @brindhalakshmanan6532 2 ปีที่แล้ว

    This video source code upload please

  • @-MrHow-
    @-MrHow- 2 ปีที่แล้ว +7

    Can you give us the source code?

    • @candrasniper3404
      @candrasniper3404 8 หลายเดือนก่อน

      Can you follow this tutorial step by step, so you can understand it. He make this video with effort to share the knowledge to other people. Not to the people like you who want copy paste it for no shame at all.

    • @aryanboy7606
      @aryanboy7606 5 หลายเดือนก่อน

      Github link😢 needed its called reuse

    • @-MrHow-
      @-MrHow- 5 หลายเดือนก่อน

      @@candrasniper3404 its not copy paste ,i understand the code he written iam software engineering ,but instead of rewrite something i understood it ,put link code will be so helpful for people

  • @UFOMatriX
    @UFOMatriX ปีที่แล้ว

    Thank you for this!
    How can i make the images swap with the keyboard arrows?

  • @Nisaicanisa
    @Nisaicanisa 2 ปีที่แล้ว

    How to add "view more images" below the gallery?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      might this help you : th-cam.com/video/4UZdSp9PMI4/w-d-xo.html

  • @thinleywangdo3086
    @thinleywangdo3086 ปีที่แล้ว

    Pop up not working

  • @sanketbhoyar2496
    @sanketbhoyar2496 2 ปีที่แล้ว

    This video very help ful for...😍😍🔥

  • @julioarmandoramires6218
    @julioarmandoramires6218 ปีที่แล้ว

    Cool man!! I'm stuck with a circular gallery but this video really opens my a path 👌

  • @daelymusings
    @daelymusings 6 หลายเดือนก่อน

    thank youuu!!

  • @fahrulikhsanhidayatullah
    @fahrulikhsanhidayatullah 10 หลายเดือนก่อน

    great vid mate

  • @abdelilahhasnaoui7943
    @abdelilahhasnaoui7943 5 หลายเดือนก่อน

    thanks man

  • @deniscountryboy
    @deniscountryboy 2 ปีที่แล้ว

    Hello! My cross don't work.. I create this, but my X don't close the image 😟

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      did you write the exact code in the tutorial? or gave the exact class / id name in the javascript?

    • @zain564
      @zain564 2 ปีที่แล้ว

      @@MrWebDesignerAnas Yes i did and i have the same problem.

  • @RCO6
    @RCO6 3 ปีที่แล้ว +1

    fantastic 😊

  • @adhamcode
    @adhamcode 2 ปีที่แล้ว +1

    perfect ♥

  • @syediqbalahmed3176
    @syediqbalahmed3176 3 ปีที่แล้ว

    vulu ... ocay ...

  • @otmanebel4744
    @otmanebel4744 2 ปีที่แล้ว

    Awesome 😃

  • @serazummunirz
    @serazummunirz 11 หลายเดือนก่อน

    Life saver.

  • @natashapramodsawant6157
    @natashapramodsawant6157 2 หลายเดือนก่อน

    I want the source code is avaiable....

  • @delforjf
    @delforjf 2 ปีที่แล้ว

    You're awesome! Thank you very very much!!

  • @srinivaslavudiya9171
    @srinivaslavudiya9171 3 ปีที่แล้ว

    how do i download source code?

  • @fakeyejoshua781
    @fakeyejoshua781 ปีที่แล้ว

    Thanks

  • @sabamta1723
    @sabamta1723 ปีที่แล้ว

    thanks a lot!

  • @sachinpunpher3967
    @sachinpunpher3967 2 ปีที่แล้ว

    thanks for this amazing tutorial

  • @anshikadubey6098
    @anshikadubey6098 2 ปีที่แล้ว

    code?

  • @stephanusveri8134
    @stephanusveri8134 2 ปีที่แล้ว

    why every i refresh the web the popup image always show?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      you the evenListener 'click' for each videos

    • @DanielBlecha
      @DanielBlecha ปีที่แล้ว

      @@MrWebDesignerAnas what do you mean? you didn't use evenListener... I have the same problem with the default image

  • @cesarmolina95
    @cesarmolina95 ปีที่แล้ว

    Thanx a lot!!

  • @MahaLakshmi-xs4sf
    @MahaLakshmi-xs4sf ปีที่แล้ว

    💥💯💥💯💥💯💥💯awesome

  • @ajnonymous.p
    @ajnonymous.p 2 ปีที่แล้ว

    Can you help me? the exit button on my image is not showing, how to fix?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      did you use position property for exit button and zindex as well?

    • @ajnonymous.p
      @ajnonymous.p 2 ปีที่แล้ว

      @@MrWebDesignerAnas how? what should i put?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว +1

      use this code for close button :
      position:absolute;
      top:20px; right:20px;
      and position:relative; for its parent element

  • @SamuelSilva-tz2ks
    @SamuelSilva-tz2ks 2 ปีที่แล้ว

    Thanks very much for this video. Awesome

  • @hestranho
    @hestranho ปีที่แล้ว

    excellent!

  • @guillaumevandeville5741
    @guillaumevandeville5741 2 ปีที่แล้ว

    Thank you, it allowed me to understand and to adapt the code to my website.🛠

  • @pranshusati5818
    @pranshusati5818 2 ปีที่แล้ว

    Where do I call the Java script function?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      you can create a different file for javascript or you can write javascript at the bottom before the closing of body tag in html file!

    • @pranshusati5818
      @pranshusati5818 2 ปีที่แล้ว

      @@MrWebDesignerAnas thankyou it's working now turns out I did not select the query

  • @abbosjonanvarov9272
    @abbosjonanvarov9272 2 ปีที่แล้ว

    i like it

  • @adarshagrahari902
    @adarshagrahari902 ปีที่แล้ว

    Thanks for this video🥰

  • @fatimaabobaker173
    @fatimaabobaker173 2 ปีที่แล้ว

    👌☘

  • @sulmansah3622
    @sulmansah3622 3 ปีที่แล้ว

    Nice,

  • @fredriksundgren2326
    @fredriksundgren2326 2 ปีที่แล้ว +2

    Thank you SO SO SO SO much ❤️

  • @Noritoshi-r8m
    @Noritoshi-r8m ปีที่แล้ว

    Fantastic. Good guide, ty.

  • @AnjuGupta-jy6lj
    @AnjuGupta-jy6lj 2 ปีที่แล้ว +1

    You are using which code editor?

  • @Hirrooooo
    @Hirrooooo 2 ปีที่แล้ว

    what editor did you use?

    • @MrWebDesignerAnas
      @MrWebDesignerAnas  2 ปีที่แล้ว

      vs code editor

    • @Hirrooooo
      @Hirrooooo 2 ปีที่แล้ว

      @@MrWebDesignerAnas can you drop down the source code

  • @gustavogarces3454
    @gustavogarces3454 2 ปีที่แล้ว

    saludos buen video como podría agregarle texto a cada imagen a la hora de visualizar el popup

    • @fernandoaguirre8359
      @fernandoaguirre8359 2 ปีที่แล้ว

      no puedo cerrar la imagen dle popup, tengo que refrescar la pagina, sabes como repararlo?

    • @gustavogarces3454
      @gustavogarces3454 2 ปีที่แล้ว

      @@fernandoaguirre8359 cuando visualizas la imagen te sale el boton de cerrar si no es asi valida esta linea de codigo × dentro del si te sale el boton pero no te funciona valida el js diractamente en el evento onclick del span
      si no es eso enviame el codigo y miramos

    • @fernandoaguirre8359
      @fernandoaguirre8359 2 ปีที่แล้ว

      @@gustavogarces3454 te paso el script:
      document.querySelectorAll('.image-container img').forEach(image=>{image.onclick = () =>
      {document.querySelector('.popup-image').style.display= 'block';
      document.querySelector('.popup-image img').src = image.getAttribute('src');
      }});
      document.querySelector('.poppup-image span').onclick = () =>{document.querySelector('.popup-image').style.display = 'none';
      }

    • @gustavogarces3454
      @gustavogarces3454 ปีที่แล้ว +1

      @@fernandoaguirre8359 valida ("poppup-image" es diferente de popup-image") estas llamando el evento onclick a una clase con otro nombre valida eso.

  • @RoastedMalo
    @RoastedMalo 2 ปีที่แล้ว

    great video, thanks

  • @hinkum8253
    @hinkum8253 2 ปีที่แล้ว

    Thank you :)

  • @icaliquid6245
    @icaliquid6245 2 ปีที่แล้ว

    Nice

  • @media7588
    @media7588 2 ปีที่แล้ว

    source codes?

  • @ldtig8099
    @ldtig8099 2 ปีที่แล้ว

    thanks