
初心者でも簡単に実行できる方法を紹介しますので、ぜひ参考にしてください。
HTMLとCSSを使ったスライドショー基本
WordPressでスライドショーを作成する際、HTMLとCSSを使った方法は非常に基本的でありながら、非常に効果的です。
以下に具体的な手順を示しますので、ぜひ実践してみてください。
HTMLの準備
まず、スライドショーの基本となるHTMLコードを作成します。
以下のサンプルコードを参考にしてください。
<div class="slideshow">
<div class="slide">Slide 1</div>
<div class="slide">Slide 2</div>
<div class="slide">Slide 3</div>
</div>
CSSのスタイリング
次に、スライドショーをスタイリングするためのCSSコードを追加します。
これにより、スライドが横に並ぶようになります。
<style>
.slideshow {
display: flex;
overflow: hidden;
width: 100%;
}
.slide {
min-width: 100%;
transition: transform 0.5s ease;
}
</style>
JavaScriptでスライドショーを動かす
スライドショーを自動で切り替えるためには、JavaScriptを使用することが必要です。
以下に、基本的なJavaScriptのコードとその応用例を紹介します。
JavaScriptの基本
JavaScriptを使用してスライドショーを動かすための基本的なスクリプトを紹介します。
<script>
let currentSlide = 0;
const slides = document.querySelectorAll('.slide');
function showSlide(index) {
slides.forEach((slide, i) => {
slide.style.transform = `translateX(${100 * (i - index)}%)`;
});
}
setInterval(() => {
currentSlide = (currentSlide + 1) % slides.length;
showSlide(currentSlide);
}, 3000);
</script>
インタラクティブな機能の追加
スライドショーをさらにインタラクティブにするための追加機能を実装します。
例えば、左右の矢印ボタンでスライドを操作できるようにします。
【サンプルhtmlコード】
<button class="prev" onclick="changeSlide(-1)">❮</button>
<button class="next" onclick="changeSlide(1)">❯</button>
【サンプルJSコード】
<script>
function changeSlide(direction) {
currentSlide = (currentSlide + direction + slides.length) % slides.length;
showSlide(currentSlide);
}
</script>
レスポンシブデザインの考慮
スライドショーを自動で切り替えるためには、JavaScriptを使用することが必要です。
以下に、基本的なJavaScriptのコードとその応用例を紹介します。
スライドショーが様々なデバイスで適切に表示されるよう、メディアクエリを使ってレスポンシブデザインを実現します。
<style>
@media (max-width: 600px) {
.slide {
min-width: 100%;
}
}
</style>
ここから先では、レスポンシブデザインを適用した実装例を紹介します。
デモやサンプルコードを使って視覚的に確認できるようにします。
応用編:オシャレなスライドショーのサンプルコード
ここでは、プラグインを使用せずに作成できるオシャレなスライドショーを5つのジャンル別に紹介します。
それぞれのサンプルコードを活用して、より洗練されたスライドショーを作成しましょう。
フェードイン・フェードアウトエフェクト
フェードイン・フェードアウトエフェクトは、スライドが柔らかく切り替わるため、視覚的に心地よい印象を与えます。シンプルでありながら、エレガントなデザインに最適です。
【サンプルhtmlコード】
<div class="fade-slideshow">
<div class="fade-slide active">Slide 1</div>
<div class="fade-slide">Slide 2</div>
<div class="fade-slide">Slide 3</div>
</div>
【サンプルcssコード】
<style>
.fade-slideshow {
position: relative;
width: 100%;
height: 300px;
overflow: hidden;
}
.fade-slide {
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.fade-slide.active {
opacity: 1;
}
</style>
【サンプルjsコード】
<script>
let fadeIndex = 0;
const fadeSlides = document.querySelectorAll('.fade-slide');
setInterval(() => {
fadeSlides[fadeIndex].classList.remove('active');
fadeIndex = (fadeIndex + 1) % fadeSlides.length;
fadeSlides[fadeIndex].classList.add('active');
}, 3000);
</script>
スライドイン・スライドアウトエフェクト
スライドイン・スライドアウトエフェクトは、スライドが画面内にスライドインし、スライドアウトする動きが特徴です。動的な印象を与え、活気のあるデザインに向いています。
【サンプルhtmlコード】
<div class="slide-slideshow">
<div class="slide-slide active">Slide 1</div>
<div class="slide-slide">Slide 2</div>
<div class="slide-slide">Slide 3</div>
</div>
【サンプルcssコード】
<style>
.slide-slideshow {
position: relative;
width: 100%;
height: 300px;
overflow: hidden;
}
.slide-slide {
position: absolute;
width: 100%;
height: 100%;
transform: translateX(100%);
transition: transform 1s ease;
}
.slide-slide.active {
transform: translateX(0);
}
</style>
【サンプルjsコード】
<script>
let slideIndex = 0;
const slideSlides = document.querySelectorAll('.slide-slide');
setInterval(() => {
slideSlides[slideIndex].classList.remove('active');
slideIndex = (slideIndex + 1) % slideSlides.length;
slideSlides[slideIndex].classList.add('active');
}, 3000);
</script>
ズームイン・ズームアウトエフェクト
ズームイン・ズームアウトエフェクトは、スライドが拡大・縮小する動きが特徴です。視覚的にインパクトを与えるため、商品紹介や写真ギャラリーに適しています。
【サンプルhtmlコード】
<div class="zoom-slideshow">
<div class="zoom-slide active">Slide 1</div>
<div class="zoom-slide">Slide 2</div>
<div class="zoom-slide">Slide 3</div>
</div>
【サンプルcssコード】
<style>
.zoom-slideshow {
position: relative;
width: 100%;
height: 300px;
overflow: hidden;
}
.zoom-slide {
position: absolute;
width: 100%;
height: 100%;
transform: scale(1);
transition: transform 1s ease;
}
.zoom-slide.active {
transform: scale(1.1);
}
</style>
【サンプルjsコード】
<script>
let zoomIndex = 0;
const zoomSlides = document.querySelectorAll('.zoom-slide');
setInterval(() => {
zoomSlides[zoomIndex].classList.remove('active');
zoomIndex = (zoomIndex + 1) % zoomSlides.length;
zoomSlides[zoomIndex].classList.add('active');
}, 3000);
</script>
回転エフェクト
回転エフェクトは、スライドが回転する動きが特徴です。ユニークで目を引くデザインに適しており、特にクリエイティブなサイトに向いています。
【サンプルhtmlコード】
<div class="rotate-slideshow">
<div class="rotate-slide active">Slide 1</div>
<div class="rotate-slide">Slide 2</div>
<div class="rotate-slide">Slide 3</div>
</div>
【サンプルcssコード】
<style>
.rotate-slideshow {
position: relative;
width: 100%;
height: 300px;
overflow: hidden;
}
.rotate-slide {
position: absolute;
width: 100%;
height: 100%;
transform: rotateY(90deg);
transition: transform 1s ease;
}
.rotate-slide.active {
transform: rotateY(0);
}
</style>
【サンプルjsコード】
<script>
let rotateIndex = 0;
vvvv const rotateSlides = document.querySelectorAll('.rotate-slide');
setInterval(() => {
rotateSlides[rotateIndex].classList.remove('active');
rotateIndex = (rotateIndex + 1) % rotateSlides.length;
rotateSlides[rotateIndex].classList.add('active');
}, 3000);
</script>
カルーセルエフェクト
カルーセルエフェクトは、スライドがループして連続的に表示されるのが特徴です。
多くのコンテンツを効率よく見せることができるため、製品一覧や写真ギャラリーに最適です。
【サンプルhtmlコード】
<div class="carousel-slideshow">
<div class="carousel-slide">Slide 1</div>
<div class="carousel-slide">Slide 2</div>
<div class="carousel-slide">Slide 3</div>
</div>
【サンプルcssコード】
<style>
.carousel-slideshow {
position: relative;
width: 100%;
height: 300px;
overflow: hidden;
display: flex;
}
.carousel-slide {
min-width: 100%;
transition: transform 0.5s ease;
}
</style>
【サンプルjsコード】
<script>
let carouselIndex = 0;
const carouselSlides = document.querySelectorAll('.carousel-slide');
setInterval(() => {
carouselIndex = (carouselIndex + 1) % carouselSlides.length;
document.querySelector('.carousel-slideshow').style.transform = `translateX(-${carouselIndex * 100}%)`;
}, 3000);
</script>
まとめ



HTML、CSS、JavaScriptを駆使して、簡単かつ効果的にスライドショーを実現できます。
この記事を参考に、自分だけのスライドショーを作ってみてください。