SPレイアウトの作成
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>furniture-store</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <header> <h1>furniture-store</h1> <p id="ham-btn"><span></span></p> </header> <nav id="g-nav"> <ul> <li><a href="#">Brands</a></li> <li><a href="#">Products</a></li> <li><a href="#">Stores</a></li> <li><a href="#">Catalogs</a></li> <li><a href="#">Styling tips</a></li> <li><a href="#">Partners & Press</a></li> </ul> </nav> <main> <div class="contents-wrapper"> <div class="contents"> <div class="contents-img"> <img src="img/contents01.jpg" alt=""> </div> <div class="contents-txt"> <h2>Lorem, ipsum dolor.</h2> <p class="txt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Laudantium quo doloribus reiciendis, possimus quasi error dolor.</p> <p class="contents-btn"> <a href="#">Lorem, ipsum.</a> </p> </div> </div><!-- /.contents --> <div class="contents"> <div class="contents-img"> <img src="img/contents02.jpg" alt=""> </div> <div class="contents-txt"> <h2>Lorem, ipsum dolor.</h2> <p class="txt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Laudantium quo doloribus reiciendis, possimus quasi error dolor.</p> <p class="contents-btn"> <a href="#">Lorem, ipsum.</a> </p> </div> </div><!-- /.contents --> <div class="contents"> <div class="contents-img"> <img src="img/contents03.jpg" alt=""> </div> <div class="contents-txt"> <h2>Lorem, ipsum dolor.</h2> <p class="txt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Laudantium quo doloribus reiciendis, possimus quasi error dolor.</p> <p class="contents-btn"> <a href="#">Lorem, ipsum.</a> </p> </div> </div><!-- /.contents --> </div><!-- /.contents-wrapper --> </main> <footer></footer> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="js/script.js"></script> </body> </html>
style.css
@charset "utf-8"; /* spレイアウト */ header{ width: 100%; height: 60px; background-color: #e3d9c5; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; position: fixed; top: 0; } #ham-btn{ width: 40px; height: 40px; position: relative; } #ham-btn>span{ display: block; width: 26px; height: 2px; background-color: #000; position: absolute; top: -12px; right: 0; bottom: 0; left: 0; margin: auto; transition: 0.2s; } #ham-btn>span::after{ display: block; content: ""; width: 26px; height: 2px; background-color: #000; position: absolute; top: 12px; transition: 0.2s; } #ham-btn.click>span{ top: 0; transform: rotate(45deg); } #ham-btn.click>span::after{ top: 0; transform: rotate(270deg); } #g-nav{ width: 100%; height: calc(100vh - 60px); position: fixed; top: 60px; background-color: #e3cac5; padding: 40px; transform: translateX(-100%); transition: 0.2s; } #g-nav.slide{ transform: translateX(0); } #g-nav a{ display: block; padding: 16px 0 10px 12px; color: #000; border-bottom: 1px solid #000; } main{ padding: 70px 10px 10px; } .contents-img{ width: 100%; height: 220px; margin-bottom:10px; } .contents-img>img{ object-fit: cover; width: 100%; height: 100%; } .contents-txt{ background-color: #c5e3d7; padding: 30px; margin-bottom:10px; } .contents:nth-of-type(2)>.contents-txt{ background-color: #d9c5e3; } .contents:nth-of-type(3)>.contents-txt{ background-color: #e3cac5; } .contents-txt>h2{ margin-bottom: 20px; } .txt{ margin-bottom: 10px; } .contents-btn{ width: 70%; margin: 20px auto; } .contents-btn>a{ display: block; padding: 12px 0; background-color: #FFF; text-align: center; color: #000; } .contents-btn>a::after{ display: inline-block; content: ""; width: 10px; height: 10px; border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); margin-left: 10px; }
script.js
$(function(){ //ハンバーガー $('#ham-btn').on('click',function(){ $(this).toggleClass('click'); //$('#g-nav').fadeToggle(); //$('#g-nav').slideToggle(200); $('#g-nav').toggleClass('slide'); });