checked-탭 콘텐츠 Opacity 응용
예제보기
HTML
<div class="tab-inner">
<input type="radio" name="tabmenu" id="tab1" checked>
<input type="radio" name="tabmenu" id="tab2">
<input type="radio" name="tabmenu" id="tab3">
<div class="content slide1">
<a href="javascript:viod(0)"><img src="./images/slide-01.jpg"></a>
</div>
<div class="content slide2">
<a href="javascript:viod(0)"><img src="./images/slide-02.jpg"></a>
</div>
<div class="content slide3">
<a href="javascript:viod(0)"><img src="./images/slide-03.jpg"></a>
</div>
<div class="heading">
<div class="text1"> Sale <span>50%</span></div>
<div class="text2"> Sale <span>40%</span></div>
<div class="text3"> Sale <span>30%</span></div>
</div>
<div class="btn">
<label for="tab1"></label>
<label for="tab2"></label>
<label for="tab3"></label>
</div>
</div>
CSS
@import url('https://fonts.googleapis.com/css?family=Raleway&display=swap');
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
body {
font-family: 'Raleway', sans-serif;
line-height: 1.5em;
margin: 0;
font-weight: 300;
color: #222;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
a {
text-decoration: none;
}
.tab-inner {
width: 300px;
height: 350px;
position: relative;
overflow: hidden;
}
input[name=tabmenu] {
display: none;
}
.content {
position: absolute;
top: 0;
left: -30px;
opacity: 0;
visibility: hidden;
transition: 0.5s;
}
.heading .text1,
.heading .text2,
.heading .text3 {
position: absolute;
top: 20px;
left: 20px;
width: 80px;
height: 80px;
background-color: crimson;
border-radius: 50%;
font-size: 25px;
color: #fff;
text-align: center;
font-weight: bold;
padding-top: 20px;
box-sizing: border-box;
transform: translateY(-50px);
opacity: 0;
transition: 0.5s;
}
.heading div span{
font-size: 15px;
display: block;
margin-top: 1px;
}
.heading .text2 {
background-color: dodgerblue;
}
.heading .text3 {
background-color: yellowgreen;
}
.btn {
position: absolute;
text-align: center;
width: 100%;
bottom: 10px;
}
.btn label {
width: 15px;
height: 15px;
display: inline-block;
border-radius: 50%;
background-color: lightgray;
cursor: pointer;
}
input[id=tab1]:checked ~ .slide1,
input[id=tab2]:checked ~ .slide2,
input[id=tab3]:checked ~ .slide3 {
visibility: visible;
opacity: 1;
left: 0;
}
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: crimson;
}
input[id=tab1]:checked ~ .heading .text1,
input[id=tab2]:checked ~ .heading .text2,
input[id=tab3]:checked ~ .heading .text3 {
transform: translateY(0);
opacity: 1;
transition-delay: 0.3s;
}