@mdsfe/mds-ui
Version:
A set of enterprise-class Vue UI components.
218 lines (217 loc) • 4.49 kB
CSS
.mds-carousel {
position: relative;
}
.mds-carousel.mds-carousel-arrow__outside {
box-sizing: content-box;
padding: 0 40px;
}
.mds-carousel__container {
position: relative;
height: 300px;
}
.mds-carousel__item-container {
overflow: hidden;
position: relative;
}
.mds-carousel__arrow {
border: none;
outline: none;
padding: 0;
margin: 0;
height: 32px;
width: 32px;
cursor: pointer;
transition: .3s;
border-radius: 50%;
background: rgba(255, 255, 255, 0.25);
color: rgba(0, 0, 0, 0.25);
position: absolute;
top: 50%;
z-index: 10;
transform: translateY(-50%);
text-align: center;
font-size: 12px;
}
.mds-carousel__arrow--left {
left: 16px;
}
.mds-carousel__arrow-outside.mds-carousel__arrow--left {
left: -40px;
}
.mds-carousel__arrow--right {
right: 16px;
}
.mds-carousel__arrow-outside.mds-carousel__arrow--right {
right: -40px;
}
.mds-carousel__arrow:hover {
background: rgba(255, 255, 255, 0.85);
color: rgba(0, 0, 0, 0.65);
}
.mds-carousel__arrow i {
cursor: pointer;
}
.mds-carousel__indicators {
position: absolute;
list-style: none;
margin: 0;
padding: 0;
z-index: 2;
}
.mds-carousel__indicators--bottom {
bottom: 0;
left: 50%;
transform: translateX(-50%);
}
.mds-carousel__indicators--right {
bottom: 0;
right: 24px;
}
.mds-carousel__indicators--left {
bottom: 0;
left: 24px;
}
.mds-carousel__indicators--top {
top: 0;
left: 50%;
transform: translateX(-50%);
}
.mds-carousel__indicators--outside {
bottom: 26px;
text-align: center;
position: static;
transform: none;
}
.mds-carousel__indicators--outside .mds-carousel__indicator:hover button {
opacity: 0.64;
}
.mds-carousel__indicators--outside button {
background-color: #D8DCE6;
opacity: 0.24;
}
.mds-carousel__indicators--outside .mds-carousel__button {
width: 32px;
height: 3px;
border-radius: 2px;
}
.mds-carousel__indicators--outside .is-active button {
background-color: #0364FF;
}
.mds-carousel__indicators--labels {
left: 0;
right: 0;
transform: none;
text-align: center;
}
.mds-carousel__indicators--labels .mds-carousel__button {
height: auto;
width: auto;
padding: 2px 18px;
font-size: 12px;
}
.mds-carousel__indicators--labels .mds-carousel__indicator {
padding: 6px 4px;
}
.mds-carousel__indicator {
background-color: transparent;
cursor: pointer;
}
.mds-carousel__indicator:hover button {
opacity: 0.72;
}
.mds-carousel__indicator--bottom {
display: inline-block;
padding: 12px 4px;
}
.mds-carousel__indicator--left {
display: inline-block;
padding: 12px 4px;
}
.mds-carousel__indicator--right {
display: inline-block;
padding: 12px 4px;
}
.mds-carousel__indicator--bottom {
display: inline-block;
padding: 12px 4px;
}
.mds-carousel__indicator--top {
display: inline-block;
padding: 12px 4px;
}
.mds-carousel__indicator--top .mds-carousel__button {
width: 8px;
height: 8px;
border-radius: 50%;
}
.mds-carousel__indicator.is-active button {
opacity: 1;
}
.mds-carousel__button {
display: block;
opacity: .48;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #fff;
border: none;
outline: none;
padding: 0;
margin: 0;
cursor: pointer;
transition: 0.3s;
}
.carousel-arrow-left-enter,
.carousel-arrow-left-leave-active {
transform: translateY(-50%) translateX(-10px);
opacity: 0;
}
.carousel-arrow-right-enter,
.carousel-arrow-right-leave-active {
transform: translateY(-50%) translateX(10px);
opacity: 0;
}
.mds-carousel__item {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: inline-block;
overflow: hidden;
z-index: 0;
}
.mds-carousel__item.is-active {
z-index: 2;
}
.mds-carousel__item--card,
.mds-carousel__item.is-animating {
transition: transform 0.4s ease-in-out;
}
.mds-carousel__item--card {
width: 50%;
}
.mds-carousel__item--card.is-in-stage {
cursor: pointer;
z-index: 1;
}
.mds-carousel__item--card.is-in-stage.is-hover .mds-carousel__mask,
.mds-carousel__item--card.is-in-stage:hover .mds-carousel__mask {
opacity: 0.12;
}
.mds-carousel__item--card.is-active {
z-index: 2;
}
.mds-carousel__mask {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #fff;
opacity: .24;
transition: 0.2s;
}
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable declaration-bang-space-before */
/* stylelint-disable declaration-bang-space-before */