実現したいこと
パララックス実装のためにinset: 0;、topとbottomにマイナスの値を指定して画像を拡大させたい。
発生している問題・分からないこと
とあるパララックス実装の記事で、下記のようなことが書かれていたので実装を試みたのですが画像が上に移動するだけで拡大がされませんでした。
『どちらのアプローチも正しいことは大前提として、もう少し簡単で保守しやすいものはないかと考えたのが以下のアプローチです。
まず画像の枠となる要素にrelativeを設定し、画像を囲うdivタグに対してabsoluteを設定します。画像要素に対して、insetを0にした後、topとbottomにはそれぞれ移動幅×(-1)の値を追記します。
こうすることで、デザインカンプから再度トリミングを行う必要もなければ、移動幅と画像サイズが連動しているため、コードの保守性も高くなります。
また、移動値を変数としておくことができるため、こういった面からでもメンテナンスがしやすいコードと言えます。』
該当のソースコード
HTML
1<div class="img popup"> 2 <img src="images/index_mainImage04.jpg" alt="" > 3</div>
CSS
1>.img { 2 position: relative; 3 width: 850px; 4 height: 467px; 5 overflow: hidden; 6 --move-distance: 30vh; 7 8 >img { 9 position: absolute; 10 inset: 0; 11 top: calc(var(--move-distance) * -1); 12 bottom: calc(var(--move-distance) * -1); 13 top: -200px; 14 bottom: -200px; 15 width: 100%; 16 object-fit: cover; 17 --y-offset: 0%; 18 transform: translateY(var(--y-offset)); 19 } 20}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
AIや検索でいろいろ調べたのですが原因は分かりませんでした。開発ツールでも記述の通り反映されていました。
補足
特になし
回答1件
あなたの回答
tips
プレビュー