###問題点
slick.jsを使って、スライダーをウェブサイトに設置しようと試みています。
Chromeでは想定通りに表示されますが、Firefoxではレイアウトが崩れてしまいます。
###試したこと
・リセットCSS「ress.css」を利用
###具体的な問題点
スライダーをレスポンシブデザインに対応させるため、ウィンドウ幅を変えて試行しています。
Chrome: ウィンドウ幅に応じてスライダーの大きさが変化する
Safari: ウィンドウ幅に応じてスライダーの大きさが変化する
Firefox: ウィンドウ幅が縮小するとスライダー内に原因不明の余白が生じる
###コード
.sliderのサイズの可変を試みています。videoに関しては問題なくサイズが変化します。
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>Inn the Park</title> 8 <link rel="stylesheet" href="/style2.css"> 9 <link rel="stylesheet" href="/slick/slick.css"> 10 <link rel="stylesheet" href="/slick/slick-theme.css"> 11</head> 12<body> 13 14<div class="content-wrapper"> 15 <div class="slider"> 16 <div class="image"> 17 <img src="/img/Screenshot.jpg" alt=""> 18 </div> 19 <div class="image"> 20 <img src="/img/Screenshot2.jpg" alt=""> 21 </div> 22 </div> 23 24 <div class="video-wrapper"> 25 <span id="video-banner">video</span> 26 <video src="/img/ScreenRecording.mov"></video> 27 </div> 28</div> 29 30 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 31 <script src="/slick/slick.js"></script> 32 <script src="/js/script.js"></script> 33</body> 34</html>
css
1.slider { 2 width: 40%; 3 height: 22.22vw; 4} 5 6.slider .image { 7 height: 100%; 8 width: 100%; 9 display: block; 10} 11 12.slider .image img { 13 height: 100%; 14 width: 100%; 15} 16 17/*以下補足*/ 18 19* { 20 padding: 0; 21 margin: 0; 22} 23 24body { 25 width: 100%; 26 height: 100%; 27 overflow-x: hidden; 28 background-color: #f7f7f7; 29} 30 31html { 32 width: 100%; 33 height: 100%; 34} 35 36.video-wrapper { 37 width: 40%; 38 height: auto; 39 position: relative; 40 display: inline-block; 41} 42 43.video-wrapper:hover { 44 cursor: none; 45} 46 47.video-wrapper::before { 48 content: ""; 49 display: block; 50 height: auto; 51 padding-top: calc(803 / 1440 *100%); 52} 53 54.video-wrapper #video-banner { 55 position: absolute; 56 top: 10px; 57 left: 10px; 58 background-color: rgba(0, 0, 0, 0.5); 59 color: white; 60 padding: 5px 20px; 61 border: 1px solid rgba(255, 255, 255, 0.5); 62 border-radius: 30px; 63} 64 65.video-wrapper video { 66 position: absolute; 67 top: 0; 68 left: 0; 69 height: auto; 70 width: 100%; 71 z-index: -100; 72} 73 74.content-wrapper { 75 display: -webkit-box; 76 display: -ms-flexbox; 77 display: flex; 78 -webkit-box-pack: center; 79 -ms-flex-pack: center; 80 justify-content: center; 81 -webkit-box-align: center; 82 -ms-flex-align: center; 83 align-items: center; 84 -ms-flex-pack: distribute; 85 justify-content: space-around; 86 height: 100%; 87}
js
1$(function(){ 2 3 var $video = $('.video-wrapper'); 4 $video.on('mouseenter', function(){ 5 $('video').get(0).play(); 6 $('#video-banner').css('display', 'none'); 7 }); 8 $video.on('mouseout', function(){ 9 $('video').get(0).pause(); 10 $('#video-banner').css('display', 'block'); 11 }); 12 13 $(".slider").slick({ 14 dots: false, 15 vertical: false, 16 slidesToShow: 1, 17 slidesToScroll: 1, 18 }); 19 20});
状態が再現できるコードを追記いたしました。
回答1件
あなたの回答
tips
プレビュー