สร้างรูปภาพ slide show ด้วย css

CSS Knowledge เป็น บอร์ดรวามความรู้ CCC เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

abdkode
PHP Super Member
PHP Super Member
Posts: 362
Joined: 07/01/2019 9:56 am

สร้างรูปภาพ slide show ด้วย css

Post by abdkode » 10/01/2019 2:06 pm

การสร้าง slide show อาจจะไม่จำเป็นต้องใช้ javascript หรือ jquery เสมอไป เราสามารถสร้างโดยใช้ แค่ css อย่างเดียวได้เหมือนกัน
วิธีการทำ โดยโค้ดตัวอย่างดังนี้

สร้างไฟล์ index.html

Code: Select all

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <div class="slidershow middle">

      <div class="slides">    //ตั้งชื่อ class เป็น slides  และใช้ input type="radio" เพื่อเป็นตำแหน่งของแต่ละภาพ
        <input type="radio" name="r" id="r1" checked>
        <input type="radio" name="r" id="r2">
        <input type="radio" name="r" id="r3">
        <input type="radio" name="r" id="r4">
        <input type="radio" name="r" id="r5">
        <div class="slide s1">
          <img src="1.jpg" alt="">  //ภาพที่1
        </div>
        <div class="slide">
          <img src="2.jpg" alt="">  //ภาพที่2
        </div>
        <div class="slide">
          <img src="3.jpg" alt="">  //ภาพที่3
        </div>
        <div class="slide">
          <img src="4.jpg" alt="">//ภาพที่4
        </div>
        <div class="slide">
          <img src="5.jpg" alt="">  //ภาพที่5
        </div>
      </div>

      <div class="navigation">
        <label for="r1" class="bar"></label>
        <label for="r2" class="bar"></label>
        <label for="r3" class="bar"></label>
        <label for="r4" class="bar"></label>
        <label for="r5" class="bar"></label>
      </div>
    </div>
  </body>
</html>
ในส่วนของ css ตามนี้เลยครับ

Code: Select all

body{
  margin: 0;
  padding: 0;
  background: #658964;
}
.slidershow{
  width: 700px;
  height: 400px;
  overflow: hidden;
}
.middle{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.navigation{
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
}
.bar{
  width: 50px;
  height: 10px;
  border: 2px solid #fff;
  margin: 6px;
  cursor: pointer;
  transition: 0.4s;
}
.bar:hover{
  background: #fff;
}

input[name="r"]{
    position: absolute;
    visibility: hidden;
}

.slides{
  width: 500%;
  height: 100%;
  display: flex;
}

.slide{
  width: 20%;  
  transition: 0.6s;
}
.slide img{
  width: 100%;
  height: 100%;
}

#r1:checked ~ .s1{
  margin-left: 0;
}
#r2:checked ~ .s1{
  margin-left: -20%;
}
#r3:checked ~ .s1{
  margin-left: -40%;
}
#r4:checked ~ .s1{
  margin-left: -60%;
}
#r5:checked ~ .s1{
  margin-left: -80%;
}
และผลลัพธ์ที่จะได้
img-slide.jpg
img-slide.jpg (115.56 KiB) Viewed 1659 times
เพียงเท่านี้เราสามารถสร้าง slide show โดยใช้แค่ html+css อย่างเดียว
ทดลองกันดูน่ะครับ

Return to “CSS Knowledge”

Users browsing this forum: No registered users and 3 guests