작성
·
278
1
html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>가로 레이아웃-1</title>
<link rel="stylesheet" href="style/style.css">
</head>
<body>
<div class="container">
<header>
<div class="header-logo"></div>
<div class="navi">
<ul class="menu">
<li>
<a href="#none">MENU-1</a>
<div class="sub-menu">
<a href="#none">SUBMENU-1</a>
<a href="#none">SUBMENU-2</a>
<a href="#none">SUBMENU-3</a>
<a href="#none">SUBMENU-4</a>
</div>
</li>
<li>
<a href="#none">MENU-2</a>
<div class="sub-menu">
<a href="#none">SUBMENU-1</a>
<a href="#none">SUBMENU-2</a>
<a href="#none">SUBMENU-3</a>
<a href="#none">SUBMENU-4</a>
</div>
</li>
<li>
<a href="#none">MENU-3</a>
<div class="sub-menu">
<a href="#none">SUBMENU-1</a>
<a href="#none">SUBMENU-2</a>
<a href="#none">SUBMENU-3</a>
<a href="#none">SUBMENU-4</a>
</div>
</li>
<li>
<a href="#none">MENU-4</a>
<div class="sub-menu">
<a href="#none">SUBMENU-1</a>
<a href="#none">SUBMENU-2</a>
<a href="#none">SUBMENU-3</a>
<a href="#none">SUBMENU-4</a>
</div>
</li>
</ul>
<div class="sub-back"></div>
</div>
</header>
<div class="slide">
<div>
<a href="#none"><img src="images/slide01.jpg" alt="slide1"></a>
<a href="#none"><img src="images/slide02.jpg" alt="slide2"></a>
<a href="#none"><img src="images/slide03.jpg" alt="slide3"></a>
</div>
</div>
<div class="contents">
<div class="news">
<div class="tab-inner">
<div class="btn">
<a class="active" href="#none">공지사항</a>
<a href="#none">갤러리</a>
</div>
<div class="tabs">
<div class="tab1">tab1</div>
<div class="tab2">tab2</div>
</div>
</div>
</div>
<div class="banner">
</div>
<div class="shortcut"></div>
</div>
<footer>
<div class="footer-logo"></div>
<div class="copy"></div>
<div class="sns"></div>
</footer>
</div>
<script src="script/jquery-3.6.0.min.js"></script>
<script src="script/custom.js"></script>
</body>
</html>
css
*{
padding: 0;
margin: 0;
text-decoration: none;
list-style: none;
color: #000;
}
.container{
width: 1200px;
margin: auto;
border: 1px solid red;
}
.container > div{}
header{
width: 1200px;
margin: auto;
height: 100px;
position: relative; /*슬라이더 위에 올라오기*/
z-index: 1;
}
header > div{
height: 100px;
box-sizing: border-box;
}
.header-logo{
width: 200px;
border: 1px solid #000;
float: left;
}
.navi{
width: 600px;
border: 1px solid #000;
float: right;
}
.slide{}
.slide > div{
height: 300px;
border: 1px solid #000;
}
.contents{
overflow: hidden;
}
.contents > div{
height: 200px;
float: left;
border: 1px solid #000;
box-sizing: border-box; /*컨텐츠에 보더박스!!*/
}
.news{
width: 400px;
}
.banner{
width: 400px;
}
.shortcut{
width: 400px;
}
footer{
overflow: hidden;
}
footer > div{
height: 100px;
border: 1px solid #000;
box-sizing: border-box;
float: left;
}
.footer-logo{
width: 200px;
}
.copy{
width: 800px;
}
.sns{
width: 200px;
}
/* slide */
.slide{
position: relative;
width: 1200px;
height: 300px; /*레이아웃이 깨지지않게 필수!*/
}
.slide > div{
font-size: 0;
}
.slide div a {
position: absolute;
top: 0;
left: 0;
animation: slide 10s linear infinite;
visibility: hidden; /* 최초에 모든 슬라이드가 존재가 없는 상태에서 출발함 */
}
.slide div a:nth-child(1){animation-delay: 0s;}
.slide div a:nth-child(2){animation-delay: 3.5s;}
.slide div a:nth-child(3){animation-delay: 7s;}
@keyframes slide{
0%{opacity: 0;}
5%{
visibility: visible; /* 0% 구간에서 visibility: hidden 상태를 5% 구간에서 보이는 상태로 전환 */
opacity: 1;
}
35%{opacity: 1;}
40%{
visibility: hidden; /* 슬라이드로 보이는 구간이 끝났으니까 투명도 0과 함께 실제로도 보이지 않는 상태로 100% 구간까지 전환 */
opacity: 0;
}
100%{ opacity: 0;}
}
/* navi */
.menu{ /*ul*/
padding: 0;
list-style: none;
margin-top: 65px; /*메뉴 전체를 보기좋게 네비 중간에 정렬*/
}
.menu li{
float: left;
width: 25%; /*퍼센트로 주는게 정확*/
box-sizing: border-box;
text-align: center;
}
.menu li > a{ /*MENU-1 ~4*/
border: 1px solid #000;
display: block;
padding: 5px;
transition: 0.5s;
}
.menu li:hover > a{
background-color: #000;
color: #fff;
}
.sub-menu{
display: none; /*메뉴 css 마지막 작업*/
}
.sub-menu a{
display: block;/*가장 먼저 주는게 편함*/
padding: 10px;
transition: 0.5s; /*부드럽게 전환*/
color: #fff;
}
.sub-menu a:hover{
background-color: #fff;
color: #000;
}
.sub-back{
width: 100%;
height: 200px;
background-color: #000;
position: absolute;
right: 0;
top: 100%;
z-index: -1;
display: none;
}
/* content 공지사항 갤러리 탭으로 구성*/
.tab-inner{
width: 97%;
margin: auto;
}
.tab-inner .btn{}
.tab-inner .btn a{
border: 1px solid #000;
display: inline-block;
width: 120px;
text-align: center;
padding: 3px;
border-radius: 10px 10px 0 0;
margin-right: -5px;
background-color: #ddd;
cursor: pointer; /*마우스 커서*/
border-bottom: none;
margin-bottom: -1px;
}
.tab-inner .btn.active{
background-color: #fff;
}
.tabs{}
.tabs div{
border: 1px solid #000;
height: 160px;
}
.tabs .tab1{}
.tabs .tab2{
display: none; /*갤러리는 태초 안보이는 상태 유지*/
}
js
/*tab*/
$('.btn a:first-child').click(function(){
$('.tab1').show()
$('.tab2').hide()
})
$('.btn a:last-child').click(function(){
$('.tab1').show()
$('.tab2').hide()
})
tab1 > tab2 글자가 전환되는게 안보이네요 ㅠㅠ
답변 2
0
0
.tab-inner .btn.active{
background-color: #fff;
}
아래 처럼 바꿔줘야 공지사항 갤러리 탭의 색상이 바뀝니다.
.tab-inner .btn a.active{
background-color: #fff;
}
==========================
$('.btn a:first-child').click(function(){
$('.tab1').show()
$('.tab2').hide()
})
아래에 show hide가 위에 있는거랑 같아요.
다르게 해줘야 해요. 아래는 .tab1과 .tab2가 바뀌어야 해요.
$('.btn a:last-child').click(function(){
$('.tab1').show()
$('.tab2').hide()
})
==========================
공개도면 지시사항에 images, css, script 폴더로 구성하라고 되어 있는데 css 폴더 대신에 style 폴더로 만들면 감점사항이 될거에요. css 폴더에 style.css 넣으세요.
============================
제이쿼리 파일은 jquery-1.12.4.js 를 사용하세요.
시험 보실 때도 jquery-1.12.4.js 파일로 하시게 됩니다.
위의 파일은 최종본 완성본에 있습니다.