#事前情報・実現したいこと
現状のコーディングではスクロールしてフッターが出現すると、下記画像のように被ってしまう。
###実現したいこと
スクロールしてフッターが出現したらした分だけ固定アイコンを上にズラしたい
###コード
html
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <link rel="stylesheet" href="main.css" type="text/css" /> 6 <title>タイトル</title> 7 </head> 8 <body> 9 <!--ヘッダー--> 10 <header> 11 <div class="header_content"> 12 <div>header1</div> 13 <div>header2</div> 14 <div>header3</div> 15 <div>header4</div> 16 <div>header5</div> 17 </div> 18 </header> 19 <!--ヘッダー--> 20 <div class="main"> 21 <p>コンテンツ1</p> 22 <p>コンテンツ2</p> 23 <p>コンテンツ3</p> 24 <p>コンテンツ4</p> 25 <p>コンテンツ5</p> 26 <p>コンテンツ6</p> 27 <p>コンテンツ7</p> 28 <p>コンテンツ8</p> 29 <p>コンテンツ9</p> 30 <p>コンテンツ10</p> 31 <p>コンテンツ11</p> 32 <p>コンテンツ12</p> 33 <p>コンテンツ13</p> 34 <p>コンテンツ14</p> 35 <p>コンテンツ15</p> 36 <p>コンテンツ16</p> 37 <p>コンテンツ17</p> 38 <p>コンテンツ18</p> 39 <p>コンテンツ19</p> 40 <p>コンテンツ20</p> 41 </div> 42 <div class="image"> 43 <img src="icon.png" alt="画像" title="画像"> 44 </div> 45 <!--フッター--> 46 <footer> 47 <div class="footer_content"> 48 <div>footer1</div> 49 <div>footer2</div> 50 <div>footer3</div> 51 <div>footer4</div> 52 <div>footer5</div> 53 </div> 54 </footer> 55 <!--フッター--> 56 </body> 57</html>
css
1body { 2 margin: 0; 3 padding: 0; 4 5 min-height: 100vh; 6 position: relative; 7 padding-bottom: 100px; 8 box-sizing: border-box; 9} 10 11/*header*/ 12header { 13 background-color: rgba(0, 0, 0, 0.8); 14 height: 100px; 15 width: 100%; 16 color: white; 17 position: fixed; 18} 19.header_content { 20 padding: 40px; 21 display: flex; 22 justify-content: space-between; 23 width: 500px; 24 margin: 0 auto; 25} 26 27/*main*/ 28.main { 29 padding-top: 125px; 30 width: 900px; 31 margin: 0 auto; 32} 33 34/*image*/ 35.image { 36 text-align: right; 37 width: 95%; 38 margin: 0 auto; 39 position: fixed; 40 bottom: 0; 41} 42img { 43 width: 150px; 44 height: 150px; 45} 46 47/*footer*/ 48footer { 49 background-color: rgba(0, 0, 0, 0.8); 50 color: white; 51 width: 100%; 52 text-align: center; 53 position: absolute; 54 bottom: 0; 55 padding: 38px 0; 56} 57.footer_content { 58 /*padding: 40px;*/ 59 display: flex; 60 justify-content: space-between; 61 width: 500px; 62 margin: 0 auto; 63}
CSSで上記内容は実現することはできますでしょうか?
もしくはJSを使用しなければできないものなのでしょうか。
実装方法をご教示頂けますと幸いです。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/22 07:53