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">
<title>01슬라이드-타입01</title>
<link rel="stylesheet" href="css/01style.css">
</head>
<body>
<div class="container">
<header>
<div class="header-logo"></div>
<div class="navi"></div>
</header>
<div class="content">
<!-- Slide Animation -->
<div class="slide"> <!-- position : relative -->
<div> <!-- position : absolute -->
<a href="#none"><img src="img/slide-01.jpg" alt="slide-01.jpg"></a><!-- a태그 반드시 필요 -->
<a href="#none"><img src="img/slide-02.jpg" alt="slide-02.jpg"></a>
<a href="#none"><img src="img/slide-03.jpg" alt="slide-03.jpg"></a>
</div>
</div>
<!-- Slide Animation -->
<div class="items">
<div class="news"></div>
<div class="banner"></div>
<div class="shortcut"></div>
</div>
</div>
<footer>
<div class="footer-logo"></div>
<div class="copyright"></div>
<div class="family-site"></div>
</footer>
</div>
</body>
</html>
--------------------------
css
--------------------------
.container {
width: 1200px;
margin: auto;
border: 10px solid red;
}
header {
height: 100px;
border: 1px solid #333;
}
header > div {
height: 100px;
}
.header-logo {
border: 1px solid #333;
width: 200px;
float: left;
}
.navi {
border: 1px solid #333;
width: 600px;
float: right;
}
.content {}
.content > div {}
/* Slide Animation */
.slide {
/* border: 5px solid red; */
position: relative;
height: 300px; /* 매우중요 : 자식div에 absolute때문에 높이값을 잃어버림, 때문에 부모요소에 명시해줘야함 */
overflow: hidden;
}
.slide > div {
width: 3600px;
height: 300px;
/* border: 5px solid #333; */
font-size: 0; /*매우중요 인라인요소에알수없는마진을없앰*/
position: absolute; /*부모요소높이값잃음*/
top: 0; /*넣지않아도되지만레이아웃구조파악을위해추천함*/
left: 0; /*넣지않아도되지만레이아웃구조파악을위해추천함*/
animation: slide 10s linear infinite;
}
@keyframes slide {
0% {
left: 0;
}
30% {
left: 0;
}
35% {
left: -1200px;
} /* 이동 */
65% {
left: -1200px;
}
70% {
left: -2400px;
} /* 이동 */
95% {
left: -2400px;
}
100% {
left: 0;
} /* 이동 */
}
/* Slide Animation */
.items {}
.items > div {
height: 200px;
border: 1px solid #333;
float: left;
box-sizing: border-box;
}
.news {
width: 400px;
}
.banner {
width: 400px;
}
.shortcut {
width: 400px;
}
footer {
clear: both;
overflow: hidden;
}
footer > div {
height: 100px;
border: 1px solid #333;
float: left;
box-sizing: border-box;
}
.footer-logo {
width: 300px;
}
.copyright {
width: 700px;
}
.family-site {
width: 200px;
}
--------------------------
.slide에 width 값 1200px는 필수가 아니라고 하셨는데요
그 이유가 .container에 width :1200px 를 주었기 때문에 필수가 아니라고 하신거 맞죠??
.slide는 블럭 요소이고 .container에 100% 차니까요..
그래서 저도 이 코드에서 .slide에서 width : 1200px를 주지 않았는데, 이상하게 나옵니다.
그리고 한가지 질문이 더있는데요
position :absolute 를 준 요소는 높이값과 너비값 모두 잃어 버리게 되는건가요?
답변 1