yunjiwong-slider
Version:
banner-anim animation component for react
226 lines (217 loc) • 4.48 kB
CSS
.banner-user{
height: 360px;
}
.banner-user-elem{
text-align: center;
color: #fff;
position: relative;
overflow: hidden;
}
.banner-user-elem .banner-user-title{
font-size: 32px;
top: 40%;
}
.banner-user-elem .banner-user-text{
top: 40%;
}
.banner-anim-elem .bg{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
background-size: 100% 115% ;
}
.custom-arrow-thumb{
height: 360px;
}
.custom-arrow-thumb .user-arrow {
top: 50%;
margin-top: -40px;
}
.custom-arrow-thumb .user-arrow .img-wrapper {
width: 120px;
height: 80px;
float: left;
position: relative;
}
.custom-arrow-thumb .user-arrow .img-wrapper li {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
position: absolute;
}
.custom-arrow-thumb .user-arrow .arrow {
width: 20px;
height: 80px;
background: rgba(0, 0, 0, 0.3);
position: relative;
}
.custom-arrow-thumb .user-arrow .arrow:before,
.custom-arrow-thumb .user-arrow .arrow:after {
width: 2px;
height: 15px;
background: #fff;
display: block;
content: ' ';
position: absolute;
}
.custom-arrow-thumb .user-arrow.next {
right: -120px;
}
.custom-arrow-thumb .user-arrow.next .arrow {
float: left;
}
.custom-arrow-thumb .user-arrow.next .arrow:before {
-webkit-transform: rotate(-40deg);
transform: rotate(-40deg);
top: 28px;
left: 10px;
}
.custom-arrow-thumb .user-arrow.next .arrow:after {
-webkit-transform: rotate(40deg);
transform: rotate(40deg);
bottom: 27px;
left: 10px;
}
.custom-arrow-thumb .user-arrow.prev {
left: -120px;
}
.custom-arrow-thumb .user-arrow.prev .arrow {
float: right;
}
.custom-arrow-thumb .user-arrow.prev .arrow:before {
-webkit-transform: rotate(40deg);
transform: rotate(40deg);
top: 28px;
left: 8px;
}
.custom-arrow-thumb .user-arrow.prev .arrow:after {
-webkit-transform: rotate(-40deg);
transform: rotate(-40deg);
bottom: 27px;
left: 8px;
}
.custom-arrow-thumb .user-thumb {
overflow: hidden;
background: rgba(255, 255, 255, 0.15);
height: 40px;
}
.custom-arrow-thumb .user-thumb > span {
width: 50px;
height: 30px;
margin: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
-webkit-transition: background .3s;
transition: background .3s;
background: transparent;
}
.custom-arrow-thumb .user-thumb > span.active {
background: rgba(255, 255, 255, 0.45);
}
.custom-arrow-thumb .user-thumb > span i {
display: block;
width: 46px;
height: 26px;
margin: 2px;
background-size: cover;
background-position: center;
}
.banner-anim {
position: relative;
overflow: hidden;
min-height: 100px;
}
.banner-anim-elem {
height: 100%;
background: 'red'
}
.banner-anim-elem > * {
position: relative;
}
.banner-anim-elem-mask {
position: relative;
overflow: hidden;
width: 100%;
}
.banner-anim-arrow {
cursor: pointer;
position: absolute;
z-index: 10;
}
.banner-anim-arrow-default {
position: absolute;
width: 20px;
height: 60px;
margin-top: -30px;
background: rgba(0, 0, 0, 0.3);
}
.banner-anim-arrow-default.next {
right: 0;
}
.banner-anim-arrow-default.next:before,
.banner-anim-arrow-default.prev:before,
.banner-anim-arrow-default.next:after,
.banner-anim-arrow-default.prev:after {
width: 2px;
height: 15px;
background: #fff;
display: block;
content: ' ';
position: absolute;
}
.banner-anim-arrow-default.next:before {
transform: rotate(-40deg);
top: 18px;
left: 10px;
}
.banner-anim-arrow-default.next:after {
transform: rotate(40deg);
bottom: 17px;
left: 10px;
}
.banner-anim-arrow-default.prev:before {
transform: rotate(40deg);
top: 18px;
left: 8px;
}
.banner-anim-arrow-default.prev:after {
transform: rotate(-40deg);
bottom: 17px;
left: 8px;
}
.banner-anim-thumb {
position: absolute;
bottom: 0;
margin: 0;
padding: 0;
width: 100%;
text-align: center;
pointer-events: none;
z-index: 10;
}
.banner-anim-thumb > span {
pointer-events: auto;
cursor: pointer;
display: inline-block;
list-style: none;
}
.banner-anim-thumb-default {
height: 40px;
line-height: 40px;
}
.banner-anim-thumb-default span {
width: 8px;
height: 8px;
border-radius: 8px;
margin: 0 5px;
background: rgba(102, 102, 102, 0.35);
transition: background .3s;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
}
.banner-anim-thumb-default span:active,
.banner-anim-thumb-default span.active {
background: #fff;
}