웹디자인기능사 실기 코드 C-
HTML
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>C-4 Vallery Festival</title>
<link href="./css/style.css" type="text/css" rel="stylesheet">
<script src="./js/jquery-1.12.3.js"></script>
<script src="./js/script.js"></script>
</head>
<body>
<main>
<!-- 메뉴 -->
<header>
<div class="logo">
<a href="#"><img src="./img/logo.png" alt="로고"></a>
</div>
<nav class="menu">
<ul class="navi">
<li><a href="#">축제소개</a>
<ul class="subMenu">
<li><a href="#">Festival소개</a></li>
<li><a href="#">행사장 안내</a></li>
<li><a href="#">조직위원회</a></li>
</ul>
</li>
<li><a href="#">예약안내</a>
<ul class="subMenu">
<li><a href="#">예약하기</a></li>
<li><a href="#">예약확인/취소</a></li>
<li><a href="#">단체예약문의</a></li>
</ul>
</li>
<li><a href="#">아티스트</a>
<ul class="subMenu">
<li><a href="#">고릴라즈</a></li>
<li><a href="#">메이저 레이저</a></li>
<li><a href="#">아우스게인</a></li>
<li><a href="#">타임로드</a></li>
</ul>
</li>
<li><a href="#">커뮤니티</a>
<ul class="subMenu">
<li><a href="#">공지사항</a></li>
<li><a href="#">사진갤러리</a></li>
<li><a href="#">영상갤러리</a></li>
</ul>
</li>
</ul>
</nav>
</header>
<div class="bodyWrap">
<!-- 이미지슬라이드 -->
<div class="imgSlide">
<a href="#"><img src="./img/img1.jpg" alt="Vallery Festival 1"><span class="imgText">Vallery Festival1</span></a>
<a href="#"><img src="./img/img2.jpg" alt="Vallery Festival 2"><span class="imgText">Vallery Festival2</span></a>
<a href="#"><img src="./img/img3.jpg" alt="Vallery Festival 3"><span class="imgText">Vallery Festival3</span></a>
</div>
<!-- 컨텐츠 : 공지사항, 갤러리, 배로가기 -->
<div class="contents">
<div class="notice">
<h4>공지사항</h4>
<ul>
<li><a href="#">Vallery Festival 1<span>2020.11.29</span></a></li>
<li><a href="#">Vallery Festival 2<span>2020.11.29</span></a></li>
<li><a href="#">Vallery Festival 3<span>2020.11.29</span></a></li>
<li><a href="#">Vallery Festival 4<span>2020.11.29</span></a></li>
</ul>
</div>
<div class="gallery">
<h4>갤러리</h4>
<ul>
<li><a href="#"><img src="./img/icon1.jpg" alt="Vallery Festival 1"></a></li>
<li><a href="#"><img src="./img/icon2.jpg" alt="Vallery Festival 2"></a></li>
<li><a href="#"><img src="./img/icon3.jpg" alt="Vallery Festival 3"></a></li>
</ul>
</div>
<div class="direct">
<a href="#">바로가기</a>
</div>
</div><!-- //END contents -->
<!-- 하단 footer -->
<footer>
<div><img src="./img/footerLogo.png" alt="로고"></div>
<div>COPYRIGHT © by WEBDESIGN. ALL RIGHTS RESERVED</div>
<div class="familySite">
<select name="familySite">
<option value="familySite1">패밀리사이트1</option>
<option value="familySite2">패밀리사이트2</option>
<option value="familySite3">패밀리사이트3</option>
</select>
</div>
</footer>
</div><!-- bodyWrap -->
</main>
<div id="modalWrap">
<div class="modal">
<h1>Vallery Festival 공지사항</h1>
<p>
동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라만세.
무궁화 삼천리 화려강 대한 사람 대한으로 길이 보전하세.
남산 위에 저 소나무, 철갑을 두른 듯 바람서리 불변함은 우리 기상일세.
</p>
<button class="btn">닫기</button>
</div>
</div>
</body>
</html>
javascript & jQuery
$(document).ready(function(){
// 마우스오버 메뉴
$('.navi > li').mouseover(function(){
$(this).find('.subMenu').stop().slideDown(300);
}).mouseout(function(){
$(this).find('.subMenu').stop().slideUp(300);
});
//이미지슬라이드 좌우
var imgs = 2;
var now = 0;
start();
function start(){
$(".imgSlide>a").eq(0).siblings().animate({width:"-800px"});
setInterval(function(){
now = now==imgs ? 0 : now+=1;
$(".imgSlide>a").eq(now-1).animate({width:"-800px"});
$(".imgSlide>a").eq(now).animate({width:"800px"});
},3000);
}
// 레이어 팝업
$('.notice li:first').click(function(){
$('#modalWrap').addClass("active");
});
$('.btn').click(function(){
$('#modalWrap').removeClass("active");
});
});
CSS
@charset "utf-8";
/*초기 설정*/
*{
margin: 0;
padding: 0;
list-style:none;
}
body{
background: #ffffff;
color:#222328;
}
a{
text-decoration:none;
display:block;
}
/********본문시작*********/
/* header와 bodyWrap을 감싸는 main */
main {
width: 1000px;
overflow: hidden;
box-sizing: border-box;
}
/* 메뉴와 로고가 들어가는 header */
header {
float:left;
width:200px;
height:670px;
margin-right:10px;
background: #bbbbbb;
}
/** 클래스 logo의 width값은 부모인 header의 영향을 받기 때문에
width:100%로 해주어도 되지만, 실기시험의 요구사항 명세서에
가로 200px과 세로 40px이라고 명시가 되어 있으므로 명시된 대로 해주어서
혹시나 감점요인이 되지 않도록 합니다.
*/
/*로고*/
.logo {
width:200px;
height:40px;
padding:30px 0;
background: #bbbbbb;
}
/*로고이미지*/
.logo img{
width:200px; /*지시사항에 적힌대로 width값 */
height:40px; /*지시사항에 적힌대로 height값 */
}
/*메인메뉴*/
.menu{
width:100%;
text-align:center;
}
.navi > li{width:100%;
/* position 속성은 서브메뉴가 오른쪽에 나타날때 반드시 필요 */
position:relative;
}
.navi > li > a{
width:100%;
padding:10px 0;
font-size:16px;
font-weight:bold;
background-color:#222328;
color:#eeeeee;
}
.navi > li > a:hover{
background-color:#ff5733;
color:#222328;
}
.subMenu{ display:none;
/* 아래 사항은 서브메뉴가 오른쪽에 나타날때 반드시 필요 */
width:200px;
position:absolute;
top:0;
left:200px;
z-index:1;
}
.subMenu > li > a{
width:100%;
padding:10px 0;
font-size:14px;
font-weight:bold;
background:#444444;
color:#ffffff;
}
.subMenu > li > a:hover{
background-color:#555555;
color: #ff5733;
}
/* 이미지슬라이드 + 컨텐츠 + 푸터 묶음 */
.bodyWrap {
float:right;
width:790px;
}
/* 이미지슬라이드 */
.imgSlide{
position:relative;
width:100%;
height:350px;
overflow: hidden;
}
.imgSlide > a {
position:absolute;
top:0;
left:0;
overflow: hidden; /* 이미지슬라이드가 좌우로 움직일때는 반드시 필요 */
}
.imgSlide > a > img {height:100%;}
.imgText{
position:absolute;
top:40%;
left:40%;
margin:-10px -70px;
background: rgba(0,0,0, 0.7);
color:#ffffff;
padding:16px 100px;
font-weight: bold;
}
/* 컨텐츠 영역 */
.contents{
width: 100%;
height:200px;
padding:0;
margin:10px 0;
display:flex;
justify-content: space-between;
}
/* 각각 컨텐츠 박스의 영역 */
.contents > div{width: 33.3%;}
.contents > div:nth-of-type(2){margin:0 10px;}
/* 공지사항과 갤러리 공통 */
.contents h4{
width:30%;
padding:6px 10px;
background:#ff5733;
color:#222328;
font-weight: bold;
text-align: center;
cursor:pointer;
}
.contents h4:hover{
background:#222328;
color:#ffffff;
}
.contents ul{
height:168px; /* chrome inspect(검사) 보고 수치 계산 */
background:#ffffff;
border:1px solid #dddddd;
box-sizing: border-box;
font-size:12px;
}
/* 컨텐츠 첫번째 : 공지사항 */
.notice li{padding:13px 10px; }
.notice li:nth-child(even){background:rgba(0,0,0, 0.05);} /*공지사항 리스트 짝수에만 배경 색상 넣기 */
.notice li:hover{color:#222328;background:rgba(244,165,185, 0.1);}
.notice li span {float:right;} /* 날짜 오른쪽 정렬 */
/* 컨텐츠 두번째 : 갤러리 */
.gallery ul{
display:flex;
justify-content: space-around;
align-items: center;
}
.gallery img:hover{opacity: 0.7;}
/* 컨텐츠 세번째 : 바로가기 */
.direct{
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
background: url("../img/direct.jpg") center center ;
}
/* 바로가기 글자 스타일 */
.direct a{
width:50%;
padding:10px 0;
text-align:center;
color:#ffffff;
font-weight:bold;
background:rgba(255, 87, 51, 0.7);
}
.direct a:hover{
background:rgba(255,255,255,0.5);
color:#333333;
}
/* Footer 하단 */
footer {
width:100%;
height:100px;
display:flex;
justify-content:space-between;
background: #777777;
box-sizing: border-box;
padding:0 20px;
}
/* 하단 공통 */
footer div{display: flex; justify-content: center; align-items: center;}
/* 로고 */
footer div:nth-child(1){width: 28%; opacity: 0.2;}
/* copyright */
footer div:nth-child(2){width: 55%; color: #ffffff; font-size: 14px;}
/* 패밀리 사이트 */
footer div:nth-child(3){width: 17%; }
.familySite > select{ width:100%; padding: 8px; }
/* 모달 팝업 */
#modalWrap{
display:none;
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0, 0.7);
z-index: 1;
}
#modalWrap.active{
display:block;
}
.modal{
position:fixed;
width:450px;
padding:20px;
top:40%;
left:40%;
background:#ffffff;
}
.modal > h1{
margin:10px 0;
text-align: center;
letter-spacing: -1px;
}
.modal > p{
text-align:justify;
}
.btn{
width:100%;
padding:10px;
margin-top:20px;
background: #ff5733;
color:#ffffff;
border:0;
font-weight: bold;
cursor:pointer;
}
.btn:hover{background:rgba(255, 87, 51, 0.2); color:#ff5733;}
728x90
300x250