以下の続きの質問になります。
JavaScriptでスライダー作成、自動スライドと、画像を3枚表示
どのブラウザ幅でも「理想の状態」の画像のようにしたいのですが、現状のコードであるcssアニメーションの修正(margin-left
のあたり)でも実現可能でしょうか。
アニメーションのmargin
指定のみで、3分割均等(画像の1枚目)のようにすることはできますでしょうか。
css
10% { 2 /* margin-left: -200px; */ 3 margin-left: 33%; 4 } 5 6 100% { 7 /* margin-left: -600px; */ 8 margin-left: -60%; 9 }
全体のコード
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> div * { box-sizing: border-box; } div { width: 800px; /* width: 100%; */ height: 200px; overflow: hidden; margin: 0 auto; border: 2px solid orange; } ul { white-space: nowrap; list-style: none; padding: 0; margin: 0; } ul li { display: inline-block; width: 400px; /* min-width: calc(100% / 3); */ /* min-width: 33.333%; */ height: 200px; margin: 0; padding: 0; } li:first-of-type { animation-name: expansion; animation-duration: 1s; animation-timing-function: linear; animation-delay: 3s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: backwards; animation-play-state: running; } @keyframes expansion { 0% { margin-left: -200px; } 100% { margin-left: -600px; } } </style> </head> <body> <div> <ul> <li class="slide-list-item"><img src="https://placehold.jp/400x200.png?text={1}" alt=""></li> <li class="slide-list-item"><img src="http://placehold.jp/cc9999/993333/400x200.png?text={2}"" alt=""></li> <li class=" slide-list-item"><img src="https://placehold.jp/400x200.png?text={3}" alt=""></li> <li class="slide-list-item"><img src="http://placehold.jp/cc9999/993333/400x200.png?text={4}"" alt=""></li> </ul> </div> <script src=" ./teratail.js"></script> </body>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/22 00:33