HTML CSS 및 JavaScript를 사용한 반응형 웹 레이아웃
~에 의해점쟁이-2023년 11월 22일0 코멘트
반응형 웹 디자인 템플릿
반응형 웹 디자인은 웹 개발자가 다양한 기기와 창 또는 화면 크기에서 웹페이지를 잘 렌더링하기 위해 사용하는 효과적인 기술입니다. 반응형 웹 디자인은 사용자가 사용하는 화면 크기에 관계없이 최상의 사용자 경험을 보장하는 것을 목표로 합니다. 반응형 웹 디자인 템플릿은 요즘 중소형 디바이스의 사용이 그 어느 때보다 증가했기 때문에 더욱 인기가 높습니다. 오늘은 HTML, CSS, JavaScript를 사용하여 반응형 웹사이트 레이아웃을 디자인해 보겠습니다. 자세한 코딩 과정은 아래 비디오 튜토리얼에 나와 있습니다. 소스코드를 수집하기 전에 영상을 시청하세요. 소스코드를 이해하는데 도움이 될 것입니다. 채널 콘텐츠가 마음에 드신다면 저희 채널을 구독하세요
비디오 튜토리얼:
비디오 튜토리얼을 시청하셨기를 바랍니다. 반응형 웹 디자인은 웹 개발 프로세스에서 중요한 부분입니다. 웹사이트는 점점 더 다양해지는 사용자 장치에 반응해야 합니다. 장치 다양성 외에도 사용자 경험, SEO, 유지 관리 효율성 등으로 인해 반응형 웹 디자인 템플릿이 더 효과적입니다.
오늘의 블로그 게시물에서는 상단에 탐색바가 있는 웹사이트 레이아웃을 디자인했습니다. 탐색 모음의 왼쪽에는 로고가 있고 오른쪽에는 메뉴 항목이 있습니다. 스니펫은 디지털 대행사 회사를 대상으로 만들어졌습니다. 그래서 그에 관련된 배경 이미지가 설정됩니다. 두 가지 행동 촉구가 제목과 부제목 아래에 나와 있습니다. 스니펫이 반응형일 때 애니메이션 햄버거 메뉴가 사용됩니다. 즉, 소형 장치의 경우 가로 메뉴가 숨겨집니다. 사용자가 햄버거 아이콘을 클릭하면 애니메이션이 오른쪽에서 팝업됩니다. CSS 미디어 쿼리는 스니펫을 반응형으로 만드는 데 사용됩니다. 이 구성 요소를 사용하면 개발자는 다양한 요인에 따라 웹 페이지에 다양한 스타일을 적용할 수 있습니다.
당신은 또한 좋아할 것입니다:
부트스트랩 5 웹 레이아웃 디자인
CSS Flexbox 반응형 이미지 갤러리
플립 애니메이션을 사용한 부트스트랩 5 추천사
HTML CSS 및 JavaScript를 사용한 반응형 웹 레이아웃 [ 소스 코드 ]:
오늘날의 반응형 웹 레이아웃을 만들려면 먼저 HTML 및 CSS 파일을 만드세요. 별도의 JS 파일을 생성하고 스니펫에 사용되는 자바스크립트 코드를 넣을 수 있습니다. 그러나 HTML 파일에 연결해야 합니다. 우리 프로젝트에서는 JavaScript 코드가 HTML 파일 아래에 배치됩니다. 상자에서 아래 코드를 복사하여 파일에 붙여넣고 저장한 후 브라우저에서 열어 작동하는지 확인하세요. 문제가 있으면 아래 다운로드 버튼에서 코드를 다운로드하세요.
HTML 추가:
<!DOCTYPE html>
<html lang="en">
<!-- divinectorweb.com -->
<head>
<meta charset="UTF-8">
<title>How to Create a Responsive Website Layout</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<nav>
<div class="logo">
<h5>Outranko</h5>
</div>
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
<div class="bar">
<div class="bar-1"></div>
<div class="bar-2"></div>
<div class="bar-3"></div>
</div>
</nav>
</header>
<div class="banner">
<div class="wrapper">
<div class="content">
<h2>Digital Agency</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit Soluta</p>
<div class="btn">
<a href="#">Learn More</a>
<a href="#">Sign up</a>
</div>
</div>
</div>
</div>
<script>
const X = () => {
const menu = document.querySelector('.bar');
const nav = document.querySelector('.menu');
menu.addEventListener('click', () => {
menu.classList.toggle('bar-active');
nav.classList.toggle('nav-active');
});
}
X();
</script>
</body>
</html>
복사
CSS를 추가하세요:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: sans-serif;
}
nav {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-around;
align-items: center;
min-height: 10vh;
background: #fff;
}
.logo {
color: #141733;
text-transform: capitalize;
font-size: 24px;
cursor: pointer;
font-weight: 900;
letter-spacing: 1px;
}
.menu {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-around;
width: 30%;
}
.menu li {
list-style: none;
}
.menu a {
color: #141733;
text-decoration: none;
font-size: 15px;
padding: 30px;
font-weight: 600;
}
.menu a:hover {
color: #ff6138;
transition: .6s;
}
.bar {
display: none;
cursor: pointer;
}
.bar div {
width: 25px;
height: 3px;
background-color: #ff6138;
margin: 5px;
transition: all .5s ease;
}
@media screen and (max-width:1024px) {
.menu {
width: 60%;
}
.menu a {
color: #fff;
}
}
@media screen and (max-width:768px) {
body {
overflow-x: hidden;
}
.menu {
position: absolute;
right: -100%;
height: 90vh;
top: 10vh;
background-color: #000;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
transform: translateX(100%);
transition: transform 0.5s ease-in-out;
opacity: .9;
}
.bar {
display: block;
}
.menu a {
color: #fff;
}
}
.nav-active {
transform: translateX(-100%);
}
.bar-active .bar-1 {
transform: rotate(-45deg) translate(-5px, 6px);
}
.bar-active .bar-2 {
opacity: 0;
}
.bar-active .bar-3 {
transform: rotate(45deg) translate(-5px, -6px);
}
.banner {
background-image: url(2.jpg);
height: 100vh;
background-size: cover;
background-position: center;
}
.content h2 {
color: #fff;
font-size: 60px;
font-weight: 900;
}
.content p {
width: 50%;
color: #fff;
line-height: 2;
margin: auto;
}
.btn a {
text-decoration: none;
background: #ff6138;
padding: 15px 10px;
display: inline-block;
color: #fff;
margin-top: 15px;
border-radius: 50px;
width: 130px;
text-align: center;
}
.wrapper {
width: 1060px;
margin: auto;
padding-top: 12%;
}
.content {
text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.wrapper {
width: 75%;
padding-top: 26%;
}
.content {
text-align: center;
}
.content h2 {
font-size: 60px;
}
.content p {
width: 100%;
}
}
@media screen and (max-width: 767px) {
.banner {
background-position: 60%;
}
.wrapper {
width: 75%;
padding-top: 26%;
}
.content h2 {
font-size: 25px;
}
.content p {
width: 100%;
}
.btn a {
padding: 9px 4px;
width: 105px;
}
}
복사
코드가 제대로 작동하길 바랍니다. 이와 같은 더 많은 스니펫을 보려면 홈페이지에서 추가 로드 버튼을 클릭하세요. 당사 웹사이트 콘텐츠가 마음에 드신다면 다른 사람들과 공유해 주세요. 저희 웹사이트를 방문해 주셔서 감사합니다.
코드 다운로드
index_html
<!DOCTYPE html>
<html lang="en">
<!-- divinectorweb.com -->
<head>
<meta charset="UTF-8">
<title>How to Create a Responsive Website Layout</title>
<link rel="stylesheet" href="style.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: sans-serif;
}
nav {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-around;
align-items: center;
min-height: 10vh;
background: #fff;
}
.logo {
color: #141733;
text-transform: capitalize;
font-size: 24px;
cursor: pointer;
font-weight: 900;
letter-spacing: 1px;
}
.menu {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-around;
width: 30%;
}
.menu li {
list-style: none;
}
.menu a {
color: #141733;
text-decoration: none;
font-size: 15px;
padding: 30px;
font-weight: 600;
}
.menu a:hover {
color: #ff6138;
transition: .6s;
}
.bar {
display: none;
cursor: pointer;
}
.bar div {
width: 25px;
height: 3px;
background-color: #ff6138;
margin: 5px;
transition: all .5s ease;
}
@media screen and (max-width:1024px) {
.menu {
width: 60%;
}
.menu a {
color: #fff;
}
}
@media screen and (max-width:768px) {
body {
overflow-x: hidden;
}
.menu {
position: absolute;
right: -100%;
height: 90vh;
top: 10vh;
background-color: #000;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
transform: translateX(100%);
transition: transform 0.5s ease-in-out;
opacity: .9;
}
.bar {
display: block;
}
.menu a {
color: #fff;
}
}
.nav-active {
transform: translateX(-100%);
}
.bar-active .bar-1 {
transform: rotate(-45deg) translate(-5px, 6px);
}
.bar-active .bar-2 {
opacity: 0;
}
.bar-active .bar-3 {
transform: rotate(45deg) translate(-5px, -6px);
}
.banner {
background-image: url(2.jpg);
height: 100vh;
background-size: cover;
background-position: center;
}
.content h2 {
color: #fff;
font-size: 60px;
font-weight: 900;
}
.content p {
width: 50%;
color: #fff;
line-height: 2;
margin: auto;
}
.btn a {
text-decoration: none;
background: #ff6138;
padding: 15px 10px;
display: inline-block;
color: #fff;
margin-top: 15px;
border-radius: 50px;
width: 130px;
text-align: center;
}
.wrapper {
width: 1060px;
margin: auto;
padding-top: 12%;
}
.content {
text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.wrapper {
width: 75%;
padding-top: 26%;
}
.content {
text-align: center;
}
.content h2 {
font-size: 60px;
}
.content p {
width: 100%;
}
}
@media screen and (max-width: 767px) {
.banner {
background-position: 60%;
}
.wrapper {
width: 75%;
padding-top: 26%;
}
.content h2 {
font-size: 25px;
}
.content p {
width: 100%;
}
.btn a {
padding: 9px 4px;
width: 105px;
}
}
</style>
</head>
<body>
<header>
<nav>
<div class="logo">
<h5>Outranko</h5>
</div>
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
<div class="bar">
<div class="bar-1"></div>
<div class="bar-2"></div>
<div class="bar-3"></div>
</div>
</nav>
</header>
<div class="banner">
<div class="wrapper">
<div class="content">
<h2>Digital Agency</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit Soluta</p>
<div class="btn">
<a href="#">Learn More</a>
<a href="#">Sign up</a>
</div>
</div>
</div>
</div>
<script>
const X = () => {
const menu = document.querySelector('.bar');
const nav = document.querySelector('.menu');
menu.addEventListener('click', () => {
menu.classList.toggle('bar-active');
nav.classList.toggle('nav-active');
});
}
X();
</script>
</body>
</html>
HTML tag