navをクリックすると背後にふわふわ動く画像が出るようにして、クリックしたところだけにその画像が出るようになったのですが、
クリックすると画像が出ると同時にnavの文字が横に移動してしまって不自然になってしまいます。
divに画像を入れているのでdivが出現するたびに文字が動いているような気もするものの、marginをいじってもあまり意味がなくて困っています。
ご教示くださいますと幸いです。
こちらはどうしても早めに解決方法が知りたかったため、マルチポストをしてしまっている質問でした。
質問リンクはこちらになります。
https://ja.stackoverflow.com/questions/77774/%e3%83%a1%e3%83%8b%e3%83%a5%e3%83%bc%e3%82%92%e3%82%af%e3%83%aa%e3%83%83%e3%82%af%e3%81%99%e3%82%8b%e3%81%a8%e3%83%a1%e3%83%8b%e3%83%a5%e3%83%bc%e6%96%87%e5%ad%97%e3%81%8c%e5%8b%95%e3%81%84%e3%81%a6%e3%81%97%e3%81%be%e3%81%86
コードは以下
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>タイトル</title> <link rel="stylesheet" href="style.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <nav> <div class="flex_"> <a href="#">top</a> <div class="huwahuwa"></div> <a href="#one">one</a> <div class="huwahuwa"></div> <a href="#two">two</a> <div class="huwahuwa"></div> </div> </nav> <section id="one"> <p>ここはoneだよ</p> </section> <section id="two"> <p>ここはtwoだよ</p> </section> <script> $('.flex_ a').on('click',function(){ $('.flex_ a').removeClass('active'); $(this).addClass('active'); }) </script> </body> </html>
@charset "utf-8"; html{ scroll-behavior: smooth; } body{ width:960px; margin:0 auto; font-size: 16px; position: relative ; } a { -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; } nav{ height:90px; width:90%; margin:0 auto; position: fixed; top:0; left:0; } .flex_{ max-width: 1200px; width:46%; margin:0 0 0 54%; height:80px; line-height:80px; display: flex; justify-content: space-between; } @media(max-width: 1100px){ body{ width:100%; } nav{ width:100%; } .flex_{ width:90%; margin:0 auto; justify-content: center; } } @media(max-width: 467px){ .flex_{ width:90%; margin:0 auto; justify-content:flex-start; flex-flow: column; line-height:55px; } } .flex_ a{ display: block; font-size:1.25rem; padding:0 0 0 30px; color:#000; text-decoration: none; } .huwahuwa{ animation:huwahuwa 3s infinite ease-in-out .8s alternate; background:url(icon.png) no-repeat center center / 60px auto; display:inline-block; transition:1.5s ease-in-out; width:100px; height:100px; margin-left:-100px; z-index:-99; } .huwahuwa{ display: none; } .active+.huwahuwa{ display: inline-block; } @keyframes huwahuwa { 0%{ transform:translate(0,0) rotate(-7deg); } 50%{ transform:translate(0,-7px) rotate(0deg); } 100%{ transform:translate(0,0) rotate(7deg); } } .flex_ a:hover{ opacity:0.6; transition: .6s; } #one,#two,#three{ width:100%; height:600px; } #one{ margin-top:80px; background:pink; z-index:-100; } #two{ background:skyblue; z-index:-100; }
回答1件
あなたの回答
tips
プレビュー