前提・実現したいこと
初めてサンプルサイトを制作しております。
メインヴィジュアル部分にCSSアニメーションでスクロールダウンの線を実装しようとしています。デザインはモバイルファーストで組んでおり、CSSも最初にスマホ用のものを書き、後からメディアクエリで大きな画面に対応させようと思っております。
そんな中、CSSの記述はGoogle Chromeのディベロッパーツールを参照しながらしているのですが、その機能で画面をiphoneX以下のサイズに変更すると、スクロールラインが見えなくなってしまい、困っています。
::beforeが動いてはいるのですが、色がないのかなんなのか……皆目検討もつかない状態です。
改善策、あるいはより良い設計がありましたら教えていただきたいです。
発生している問題
スマホ画面サイズで見るとスクロールダウンのラインアニメーションが反映されない・見えない。
該当のソースコード
HTML
1<div class="scrollLine"> 2 <span class="-border"></span> 3 <span class="-txt">SCROLL</span> 4</div>
CSS
1.scrollLine { 2 display: flex; 3 align-items: center; 4 transform: rotate(270deg); 5 transform-origin: left; 6 width: 150px; 7 position: absolute; 8 bottom: 12%; 9 left: 5%; 10} 11.-border { 12 width: 100px; 13 height: 1px; 14 overflow: hidden; 15} 16.-border::before { 17 content: ""; 18 width: 100%; 19 height: 100%; 20 display: block; 21 background-color: #000; 22 animation: scrollLine 2.1s ease-in-out infinite; 23 z-index: 9000; 24} 25.-txt { 26 font-size: 16px; 27 font-weight: 700; 28 letter-spacing: 0.03em; 29 margin-left: 9px; 30} 31 32/* アニメーション設定 */ 33@keyframes scrollLine { 34 0% { 35 transform: translateX(100%); 36 } 37 38 30% { 39 transform: translateX(0%); 40 } 41 42 70% { 43 transform: translateX(0%); 44 } 45 46 100% { 47 transform: translateX(-100%); 48 } 49} 50 51/* 特に関係なさそうな部分 */ 52html, body { 53 width: 100%; 54 height: 100%; 55}
試したこと
・::before要素の色を変えてみる
・-borderクラスに{position: relative;}を、::before要素に{position: absolute; top: 0; left: 0;}を追加してみる
・ディベロッパーツールで画面をipadサイズやpcサイズに変更してみる→これならアニメーションが見える
補足情報(FW/ツールのバージョンなど)
*destyle.cssを適応しています
*実際にはSCSSを使用してcssファイルを作成しています
*Visual Studio Codeを使用
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。