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

सीएसएस फ्लेक्सबॉक्स के साथ एक स्लाइडर/हिंडोला बनाना (लूप में अनंत दोहराए जाने वाले आइटम के साथ)

<घंटा/>

हम जावास्क्रिप्ट की मदद से CSS Flexbox का उपयोग करके एक असीमित स्क्रॉलिंग स्लाइडर बना सकते हैं।

उदाहरण

निम्नलिखित उदाहरण सीएसएस का उपयोग करके कैरोसेल को दर्शाते हैं।

<!DOCTYPE html>
<html>
   <head>
      <style>
         img {
            width: 100%;
         }
         .container {
            max-width: 600px;
            position: relative;
            margin: 6% auto;
         }
         .prevbtn, .nextbtn {
            position: absolute;
            top: 50%;
            padding: 12px;
            margin-top: -20px;
            color: white;
            font-weight: bold;
            cursor: pointer;
            transition: 0.2s ease-in;
            border-radius: 50%;
         }
         .prevbtn:hover, .nextbtn:hover {
            background-color: darkgrey;
            color: rgb(0,0,0);
         }
         .nextbtn {
            right: 0;
         }
      </style>
   </head>
   <body>
      <div class="container">
         <div class="slide">
            <img src="https://images.unsplash.com/photo-1609517904792-bac493d55556?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=200&ixlib=rb-1.2.1&q=80&w=700" />
         </div>
         <div class="slide">
            <img src="https://images.unsplash.com/photo-1609883475382-c4c9378569e5?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=200&ixlib=rb-1.2.1&q=80&w=700" />
         </div>
         <div class="slide">
            <img src="https://images.unsplash.com/photo-1610258648552-fe6407d664a1?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=200&ixlib=rb-1.2.1&q=80&w=700" />
         </div>
         <div class="slide">
            <img src="https://images.unsplash.com/photo-1610258648552-fe6407d664a1?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=200&ixlib=rb-1.2.1&q=80&w=700" />
         </div>
         <div class="slide">
            <img src="https://images.unsplash.com/photo-1611094607507-8c8173e5cf33?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=200&ixlib=rb-1.2.1&q=80&w=700" />
         </div>
         <a class="prevbtn" onclick="changeSlide(-1)">❮</a>
         <a class="nextbtn" onclick="changeSlide(1)">❯</a>
      </div>
      <script>
         let slideIndex = [1,1];
         viewSlides(1);
         function changeSlide(n) {
            viewSlides(slideIndex[0] += n);
         }
         function viewSlides(n) {
            let ele = document.getElementsByClassName("slide");
            if (n > ele.length) {
               slideIndex[0] = 1
            }
            if (n < 1) {
               slideIndex[0] = ele.length
            }
            for (i = 0; i < ele.length; i++) {
               ele[i].style.display = "none";
            }
            ele[slideIndex[0]-1].style.display = "block";
         }
      </script>
   </body>
</html>

यह निम्न आउटपुट देता है

सीएसएस फ्लेक्सबॉक्स के साथ एक स्लाइडर/हिंडोला बनाना (लूप में अनंत दोहराए जाने वाले आइटम के साथ)

सीएसएस फ्लेक्सबॉक्स के साथ एक स्लाइडर/हिंडोला बनाना (लूप में अनंत दोहराए जाने वाले आइटम के साथ)

उदाहरण

<!DOCTYPE html>
<html>
   <head>
      <style>
         .container {
            height: 120px;
            max-width: 600px;
            margin: 12px auto;
            position: relative;
            overflow: hidden;
            transform: translate3d(0, 0, 0);
            border: 4px ridge rgba(20,30,240,0.6);
         }
         .container > div {
            height: 120px;
            width: 2400px;
            background: url(https://images.unsplash.com/photo-1611485916153-fce531587fe0?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=120&ixlib=rb-1.2.1&q=80&w=120);
            position: absolute;
            height: 100%;
            transform: translate3d(0, 0, 0);
         }
         .container .slider {
            animation: slideshow 20s linear infinite;
         }
         @keyframes slideshow {
            100% {
               transform: translateX(-33.33%);
            }
         }
      </style>
   </head>
   <body>
      <div class="container">
         <div class="slider"></div>
      </div>
   </body>
</html>

यह निम्न आउटपुट देता है

सीएसएस फ्लेक्सबॉक्स के साथ एक स्लाइडर/हिंडोला बनाना (लूप में अनंत दोहराए जाने वाले आइटम के साथ)


  1. फ्लेक्सबॉक्स के साथ एडवांस सीएसएस लेआउट

    CSS3 एक लेआउट मोड फ्लेक्सिबल बॉक्स प्रदान करता है, जिसे आमतौर पर फ्लेक्सबॉक्स कहा जाता है। फ्लेक्सबॉक्स (लचीला बॉक्स) CSS3 का एक लेआउट मोड है। इस मोड का उपयोग करके, आप जटिल एप्लिकेशन और वेब पेजों के लिए आसानी से लेआउट बना सकते हैं। इसमें कंटेनर, फ्लेक्स आइटम आदि शामिल हैं। कंटेनर में निम्नलिखित गुण

  1. CSS Flexbox में आइटम के लिए एक निश्चित चौड़ाई निर्धारित करना

    सिंटैक्स CSS flex संपत्ति का सिंटैक्स इस प्रकार है - Selector {    flex: /*value*/ } उदाहरण निम्नलिखित उदाहरण CSS flex गुण को दर्शाते हैं। <!DOCTYPE html> <html>    <head>       <style>          div {    

  1. CSS के साथ आकर्षक पहली पंक्तियाँ बनाना ::पहली पंक्ति

    CSS ::फर्स्ट-लाइन स्यूडो-एलिमेंट हमें किसी एलीमेंट की फर्स्ट लाइन को स्टाइल करने में मदद करता है निम्नलिखित उदाहरण CSS ::प्रथम-पंक्ति छद्म-तत्व को दर्शाते हैं। उदाहरण <!DOCTYPE html> <html> <head> <style> body {    text-align: center;    background-color: