Frontend practice
반응형 헤더 만들기
판다꼬마
2022. 5. 23. 22:09
728x90
https://www.youtube.com/watch?v=X91jsJyZofw&list=PLv2d7VI9OotQ1F92Jp9Ce7ovHEsuRQB3Y&index=15
만들어본 사이트
예전에 한번 유튜브를 보고 클론 코딩을 해봤는데
이번에는 한번 안 보고 쭉 만들고 이상한 부분은 영상을 보면서 수정을 해보았다.
만들 사이트
위에 있는 사이트를 구축해보고 사이즈가 작아지면 아래 사이트처럼 변해야 한다.
html
<!DOCTYPE html>
<html lang="en">
<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" />
<link rel="stylesheet" href="style.css" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Koulen&family=Roboto:wght@300&display=swap" rel="stylesheet" />
<title>Header practice</title>
<script src="https://kit.fontawesome.com/e4e79036b7.js" crossorigin="anonymous"></script>
<script src="js.js" defer></script>
</head>
<body>
<nav class="navbar">
<div class="navbar_logo">
<i class="fa-brands fa-accusoft"></i>
<a href="">DreamCoding</a>
</div>
<ul class="navbar_menu">
<li><a href="">Home</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Weddings</a></li>
<li><a href="">FAQ</a></li>
<li><a href="">Bookings</a></li>
</ul>
<ul class="navbar_icon">
<li><i class="fa-brands fa-twitter"></i></li>
<li><i class="fa-brands fa-facebook"></i></li>
</ul>
<a href="#" class="navbar_toggle">
<i class="fa-solid fa-bars"></i>
</a>
</nav>
</body>
</html>
css
body {
margin: 0;
font-family: "Source Sans Pro";
}
a {
text-decoration: none;
color: white;
}
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
background-color: aqua;
padding: 8px 12px;
}
.navbar_logo {
font-size: 24px;
color: white;
}
.navbar_logo i {
color: orange;
}
.navbar_menu {
display: flex;
list-style: none;
padding-left: 0;
}
.navbar_menu li {
padding: 8px 12px;
font-size: 20px;
}
.navbar_menu li:hover {
background-color: blue;
border-radius: 4px;
}
.navbar_icon {
list-style: none;
display: flex;
color: white;
padding-left: 0;
}
.navbar_icon li {
padding: 8px 12px;
}
.navbar_toggle {
display: none;
position: absolute;
right: 32px;
font-size: 24px;
color: orange;
}
@media screen and (max-width: 768px) {
.navbar {
flex-direction: column;
align-items: flex-start;
padding: 8px 24px;
}
.navbar_menu {
display: none;
flex-direction: column;
align-items: center;
width: 100%;
}
.navbar_menu li {
width: 100%;
text-align: center;
}
.navbar_icon {
display: none;
justify-content: center;
width: 100%;
}
.navbar_toggle {
display: block;
}
.navbar_menu.active,
.navbar_icon.active {
display: flex;
}
}
js
const toggle = document.querySelector(".navbar_toggle");
const menu = document.querySelector(".navbar_menu");
const icon = document.querySelector(".navbar_icon");
toggle.addEventListener("click", () => {
menu.classList.toggle("active");
icon.classList.toggle("active");
});
느낀 점
영상을 예전에 보고 만들어보고도 다시 안 보고 만들려니 시간이 정말 오래 걸렸다.
아직 갈 길이 먼 것 같다 ㅜㅜ
728x90