풀 스크린 슬라이더 프로토타입(기능만)
- html
<div class="tab-inner">
<!-- tabs : 가로세로 100%, overflow:hidden -->
<input type="radio" name="t" id="tab1" checked>
<input type="radio" name="t" id="tab2">
<input type="radio" name="t" id="tab3">
<div class="tabs">
<div class="items">
<div>
<h1>content1</h1>
</div>
<div>
<h1>content2</h1>
</div>
<div>
<h1>content3</h1>
</div>
</div>
</div>
<div class="btn">
<label for="tab1"></label>
<label for="tab2"></label>
<label for="tab3"></label>
</div>
</div>
- css
body {
padding: 0;
margin: 0;
}
.tab-inner {
/* container */
}
input[name=t] {
display: none;
}
/* div.tabs는 블럭요소라서 w100%가 디폴트값임 */
.tabs {
overflow: hidden;
/* 자식요소 absolute
부모요소가 자식만큼 높이를 가지고 있다가 자식absolute되면 부모 높이값 없어짐
높이값을 안주면 overflow:hidden으로 내용이 다 사라짐 */
position: relative;
height: 100vh;
}
/* item > div*3 */
.items {
/* border: 1px solid blue; */
width: 300%;
height: 100vh;
transition: 0.5s;
position: absolute;
top: 0;
left: 0;
}
.items div {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
float: left;
/* width: 100%;로 하면 한화면에 3칸으로 나누어진다, 33.33333% 로 퍼센트로 나눠야함 */
width: 33.33333%;
box-sizing: border-box;
/* border: 1px solid red; */
}
.items div:nth-child(1) {
background-color: teal;
}
.items div:nth-child(2) {
background-color: dodgerblue;
}
.items div:nth-child(3) {
background-color: yellowgreen;
}
.items div h1 {
font-size: 80px;
font-weight: normal;
}
.btn {
position: absolute;
bottom: 50px;
/* 중앙정렬
left: 50%;
transform: translateX(-50%);
로 해도 되지만 ,
absolute -> 인라인블럭이 되기때문에 너비값없어짐
w100% ta:c */
width: 100%;
text-align: center;
}
.btn label {
display: inline-block;
width: 50px;
height: 5px;
background-color: #fff;
cursor: pointer;
}
input[id=tab1]:checked ~ .tabs .items {
left: 0;
}
input[id=tab2]:checked ~ .tabs .items {
left: -100%;
}
input[id=tab3]:checked ~ .tabs .items {
left: -200%;
}
input[id=tab1]:checked ~ .btn label[for=tab1],
input[id=tab2]:checked ~ .btn label[for=tab2],
input[id=tab3]:checked ~ .btn label[for=tab3] {
background-color: #000;
}
'Web > HTML CSS 퍼블리싱' 카테고리의 다른 글
before 가상클래스 #1 호버이펙트 (0) | 2021.06.30 |
---|---|
tab slider #3 풀 스크린 슬라이더 제작 (완성본) (0) | 2021.06.29 |
tab slider #1 가로 세로 탭 슬라이더 (0) | 2021.06.24 |
tabmenu #2 - 슬라이드 (0) | 2021.06.23 |
tabmenu #1 (0) | 2021.06.22 |