LoginSignup
nkarishu
@nkarishu

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

フッターを紙芝居風に表示させたい

解決したいこと

スクロールした際にフッター部分が紙芝居のように表示させるようにしたいです。
mainに対してmargin-bottomを指定しようとしているのですが画面サイズが変わるとフッター高さが変わるので指定方法に悩んでいます。
JQueryを使用して画面サイズごとのフッター高さを取得して、CSSのmainに対応させることは可能ですか?また、別の方法があればご教授いただけると嬉しいです。

自分で試したこと

決まった数値の指定
%やVHでの指定
うまくいきませんでした。

0

1Answer

初めまして

ご質問の内容を以下のように理解して回答しています。

フッター部分が紙芝居のように表示させる

→ footer要素が画面の下部に固定されており、mainが紙芝居のようにスクロールできるようなUIを実現したい。のだと理解しました。

↓イメージ
スクリーンショット 2023-05-19 20.50.16.png

mainに対してmargin-bottomを指定しようとしているのですが画面サイズが変わるとフッター高さが変わるので指定方法に悩んでいます。

→ mainの要素がFooterに被らないように mainの要素 にFooterの高さ分のmargin-bottomを指定している。
→ しかし、画面サイズが変わることで、テキストが折り返されなどの理由から、Footerの高さが変わる。
→ そのため、mainの要素がFooterに被るので、なんとかしたい。

のだと理解しました。

意図した内容と、違っていたらすみません🙇‍♂️

回答

上記のように理解した上で回答します。

↓ このように記載することで、footerの高さに応じて、margin-bottomを変更させることができると思います。

$(function(){
  // 画面が読み込まれた時に、footerの高さを取得して、mainのmargin-bottomを指定している
  var footer = $('#footer');
  $('.main').css('margin-bottom', footer.outerHeight() + 'px');
  
  $(window).resize(function(){
  // 画面がリサイズされた時に、footerの高さを取得して、mainのmargin-bottomを更新している
    $('.main').css('margin-bottom', footer.outerHeight() + 'px');
  });
});

その他の方法ですが、cssのメディアクエリを使うのも手だと思います。

0Like

Your answer might help someone💌