2023.7.31 追記
Swiper のアップデート によりこのページのスライダーが正常動作しなくなっていますが、このページは2年以上前に行った検証の記録なので、スライダー動作の修正等を行っていません。
- 【1】picture タグと WebP 形式の画像を使っている例 https://lightning-g3.hp1.work/swiper-slider/
⇒ 【4】【1】に img タグに width/height を追加した例 https://lightning-g3.hp1.work/swiper-slider-4/
⇒ 【6】【1】に swiper-container の height を追加した例 https://lightning-g3.hp1.work/swiper-slider-6/ - 【2】img タグを使っている例 https://lightning-g3.hp1.work/swiper-slider-2/
- 【3】picture タグと WebP 形式の画像を使っている例 https://lightning-g3.hp1.work/swiper-slider-3/
1200px以上でも slidesPerView:1 にしてある。一瞬スライド画像が大きく表示されるのがイヤならこれがよい。
⇒ 【5】【3】に img タグに width/height を追加した例 https://lightning-g3.hp1.work/swiper-slider-5/ - 【参考】HTML で作成した例 https://uonuma.biz/responsive/swiper.js/
CLS の改善
以下の CSS を追加してスライダーの高さを確保している。
@media (min-width: 641px) {
.swiper-container-3 { height: calc( 100vw * ( 800 / 2000 ) ); }
}
@media (max-width: 640px) {
.swiper-container-3 { height: calc( 100vw * ( 373 / 640 ) ); }
}
画像の出し分け
img タグに width/height を追加している。
スライドのHTMLソースを以下のように記述して画面幅によって画像を出し分けている。
<picture>
<source type="image/webp" media="(min-width: 641px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1-w.webp">
<source type="image/webp" media="(min-width: 401px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1s.webp">
<source type="image/webp" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1ss.webp">
<source type="image/jpeg" media="(min-width: 641px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1-w.jpg">
<source type="image/jpeg" media="(min-width: 401px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1s.jpg">
<img src="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1ss.jpg" alt="働く若者" width="400" height="233">
</picture>
カルーセルのHTMLソースを以下のように記述して画面幅によって画像を出し分けている。
<picture>
<source type="image/webp" media="(min-width: 401px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1s.webp">
<source type="image/webp" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1ss.webp">
<source type="image/jpeg" media="(min-width: 401px)" srcset="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1s.jpg">
<img src="https://lightning-g3.hp1.work/wp-content/uploads/2021/04/1ss.jpg" alt="働く若者" width="400" height="233">
</picture>