SPレイアウトの作成

f:id:CHOCOtan:20220224140825j:plain

<!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');
});