fine-true
Version:
A small and beautiful Vue3 version of the UI Library
172 lines (168 loc) • 3.7 kB
text/less
.fine-swiper {
width: 100%;
height: 100%;
overflow: hidden;
cursor: -webkit-grab;
position: relative;
}
.fine-swiper-horizontal {
.fine-swiper-slide-container {
height: 100%;
width: 100%;
display: flex;
> div {
flex-shrink: 0;
height: 100%;
width: 100%;
}
}
.fine-swiper-prev-btn {
background-color: rgba(255, 255, 255, 0.5);
position: absolute;
left: 20px;
top: 50%;
border-radius: 3px;
width: 42px;
height: 42px;
transform: translateY(-50%) rotate(-45deg);
display: flex;
justify-content: center;
align-items: center;
&:active {
background-color: rgba(255, 255, 255, 0.7);
}
> i {
transform: rotate(45deg);
display: inline-block;
font-size: 24px;
color: #fff;
}
}
.fine-swiper-next-btn {
background: rgba(255, 255, 255, 0.5);
position: absolute;
right: 20px;
top: 50%;
border-radius: 3px;
width: 42px;
height: 42px;
transform: translateY(-50%) rotate(-45deg);
display: flex;
justify-content: center;
align-items: center;
&:active {
background-color: rgba(255, 255, 255, 0.7);
}
> i {
transform: rotate(45deg);
display: inline-block;
font-size: 24px;
color: #fff;
}
}
.fine-swiper-pagination {
position: absolute;
width: 100%;
height: 32px;
left: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
span {
display: inline-block;
width: 6px;
height: 6px;
opacity: 1;
border-radius: 10px;
background: white;
margin: 0 3px;
cursor: pointer;
transition: width 0.3s ease-in-out;
}
span.fine-swiper-pagination-item-active {
background: #fdd000;
width: 12px;
}
}
}
.fine-swiper-vertical {
.fine-swiper-slide-container {
height: 100%;
width: 100%;
> div {
height: 100%;
width: 100%;
}
}
.fine-swiper-prev-btn {
background-color: rgba(255, 255, 255, 0.5);
position: absolute;
top: 20px;
right: 20px;
border-radius: 3px;
width: 42px;
height: 42px;
transform: rotate(-45deg);
display: flex;
justify-content: center;
align-items: center;
&:active {
background-color: rgba(255, 255, 255, 0.7);
}
> i {
transform: rotate(135deg);
display: inline-block;
font-size: 24px;
color: #fff;
}
}
.fine-swiper-next-btn {
background: rgba(255, 255, 255, 0.5);
position: absolute;
right: 20px;
bottom: 20px;
border-radius: 3px;
width: 42px;
height: 42px;
transform: rotate(-45deg);
display: flex;
justify-content: center;
align-items: center;
&:active {
background-color: rgba(255, 255, 255, 0.7);
}
> i {
transform: rotate(135deg);
display: inline-block;
font-size: 24px;
color: #fff;
}
}
.fine-swiper-pagination {
position: absolute;
width: 32px;
height: 100%;
right: 0;
top: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
span {
display: inline-block;
width: 6px;
height: 6px;
opacity: 1;
border-radius: 10px;
background: white;
margin: 3px 0;
cursor: pointer;
transition: width 0.3s ease-in-out;
}
span.fine-swiper-pagination-item-active {
background: #fdd000;
height: 12px;
}
}
}