@alifd/next
Version:
A configurable component library for web built on React.
314 lines (311 loc) • 12.3 kB
CSS
.next-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
top: 0;
margin: -1px; }
/* Slider */
/* -------------------------------------- */
.next-slick {
box-sizing: border-box;
position: relative;
display: block;
-webkit-touch-callout: none;
user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
/* 水平滑动 */
/* 垂直滑动 */ }
.next-slick *,
.next-slick *:before,
.next-slick *:after {
box-sizing: border-box; }
.next-slick-initialized .next-slick-slide {
display: block; }
.next-slick-list {
position: relative;
overflow: hidden;
display: block;
margin: 0;
padding: 0;
transform: translate3d(0, 0, 0); }
.next-slick-list:focus {
outline: none; }
.next-slick-list.dragging {
cursor: pointer;
cursor: hand; }
.next-slick-track {
position: relative;
top: 0;
left: 0;
display: block;
transform: translate3d(0, 0, 0); }
.next-slick-slide {
float: left;
height: 100%;
min-height: 1px;
outline: 0;
transition: all 100ms linear;
transition: all var(--motion-duration-immediately, 100ms) var(--motion-linear, linear); }
.next-slick[dir="rtl"] .next-slick-slide {
float: right; }
.next-slick-slide img {
display: block; }
.next-slick-arrow {
display: block;
position: absolute;
cursor: pointer;
text-align: center;
transition: all 100ms linear;
transition: all var(--motion-duration-immediately, 100ms) var(--motion-linear, linear);
/* prev/next 按钮不同位置下的外观 */ }
.next-slick-arrow.inner {
color: #FFFFFF;
color: var(--slick-arrow-icon-color-normal, #FFFFFF);
background: #000000;
background: var(--slick-arrow-bg-color-normal, #000000);
opacity: 0.2;
opacity: var(--slick-arrow-bg-opacity-normal, 0.2);
padding: 0;
border: none; }
.next-slick-arrow.inner:focus, .next-slick-arrow.inner:hover {
color: #FFFFFF;
color: var(--slick-arrow-icon-color-hover, #FFFFFF);
background: #000000;
background: var(--slick-arrow-bg-color-hover, #000000);
opacity: 0.4;
opacity: var(--slick-arrow-bg-opacity-hover, 0.4); }
.next-slick-arrow.inner.disabled {
color: #CCCCCC;
color: var(--slick-arrow-icon-color-disabled, #CCCCCC);
background: #F7F8FA;
background: var(--slick-arrow-bg-color-disabled, #F7F8FA);
opacity: 0.5;
opacity: var(--slick-arrow-bg-opacity-disabled, 0.5); }
.next-slick-arrow.outer {
color: #666666;
color: var(--slick-arrow-icon-color-normal-outer, #666666);
background: transparent;
background: var(--slick-arrow-bg-color-normal-outer, transparent);
opacity: 0.32;
opacity: var(--slick-arrow-bg-opacity-normal-outer, 0.32);
padding: 0;
border: none;
border-radius: 0px;
border-radius: var(--slick-arrow-corner-radius-outer, 0px); }
.next-slick-arrow.outer:focus, .next-slick-arrow.outer:hover {
color: #333333;
color: var(--slick-arrow-icon-color-hover-outer, #333333);
background: transparent;
background: var(--slick-arrow-bg-color-hover-outer, transparent);
opacity: 0.32;
opacity: var(--slick-arrow-bg-opacity-hover-outer, 0.32); }
.next-slick-arrow.outer.disabled {
color: #CCCCCC;
color: var(--slick-arrow-icon-color-disabled-outer, #CCCCCC);
background: transparent;
background: var(--slick-arrow-bg-color-disabled-outer, transparent);
opacity: 0.32;
opacity: var(--slick-arrow-bg-opacity-disabled-outer, 0.32); }
.next-slick-arrow.disabled {
cursor: not-allowed; }
.next-slick-dots {
display: block;
position: absolute;
margin: 0;
padding: 0;
/* dots 位于水平位置 */
/* dots 位于右侧垂直位置 */ }
.next-slick-dots-item {
position: relative;
display: inline-block;
cursor: pointer; }
.next-slick-dots-item button {
cursor: pointer;
border-width: 0px;
border-width: var(--slick-dots-border-width, 0px);
border-color: white;
border-style: solid;
outline: none;
padding: 0;
height: 8px;
height: var(--slick-dots-height, 8px);
width: 8px;
width: var(--slick-dots-width, 8px);
border-radius: 50%;
border-radius: var(--slick-dots-border-radius, 50%);
background: rgba(0, 0, 0, 0.32); }
.next-slick-dots-item button:focus, .next-slick-dots-item button:hover {
background-color: rgba(255, 255, 255, 0.5);
/* border-width: $slick-dots-border-width-hover; */
border-color: white; }
.next-slick-dots-item.active button {
background: #5584ff;
/* border-width: $slick-dots-border-width-selected; */
border-color: white;
animation: zoom 0.3s cubic-bezier(0.86, 0, 0.07, 1); }
.next-slick-dots.hoz {
width: 100%;
bottom: 12px;
bottom: var(--slick-dots-position-bottom, 12px);
left: 0;
text-align: center; }
.next-slick-dots.hoz .next-slick-dots-item {
margin: 0 4px;
margin: 0 var(--slick-dots-margin-lr, 4px); }
.next-slick-dots.ver {
width: 16px;
width: calc(var(--slick-dots-width, 8px) + 8px);
top: 0;
right: 20px;
right: var(--slick-dots-position-right, 20px);
bottom: 0;
display: flex;
justify-content: center;
flex-direction: column; }
.next-slick-dots.ver .next-slick-dots-item {
margin: 0px 0;
margin: var(--slick-dots-margin-tb, 0px) 0; }
.next-slick.next-slick-hoz.next-slick-outer {
padding: 0 24px;
padding: 0 var(--slick-track-padding-lr, 24px); }
.next-slick.next-slick-hoz .next-slick-arrow.medium {
width: 28px;
width: var(--slick-arrow-width-m, 28px);
height: 56px;
height: var(--slick-arrow-height-m, 56px);
line-height: 56px;
line-height: var(--slick-arrow-height-m, 56px); }
.next-slick.next-slick-hoz .next-slick-arrow.medium .next-icon:before,
.next-slick.next-slick-hoz .next-slick-arrow.medium .next-icon .next-icon-remote {
width: 20px;
width: var(--slick-arrow-icon-m, 20px);
font-size: 20px;
font-size: var(--slick-arrow-icon-m, 20px);
line-height: inherit; }
.next-slick.next-slick-hoz .next-slick-arrow.medium.inner {
top: calc(50% - 28px);
top: calc(50% - var(--slick-arrow-height-m, 56px)/2); }
.next-slick.next-slick-hoz .next-slick-arrow.medium.inner.next-slick-prev {
left: 0; }
.next-slick.next-slick-hoz .next-slick-arrow.medium.inner.next-slick-next {
right: 0; }
.next-slick.next-slick-hoz .next-slick-arrow.medium.outer {
top: calc(50% - 28px);
top: calc(50% - var(--slick-arrow-height-m, 56px)/2); }
.next-slick.next-slick-hoz .next-slick-arrow.medium.outer.next-slick-prev {
left: -4px;
left: calc(0px - var(--slick-arrow-position-lr-m, 4px)); }
.next-slick.next-slick-hoz .next-slick-arrow.medium.outer.next-slick-next {
right: -4px;
right: calc(0px - var(--slick-arrow-position-lr-m, 4px)); }
.next-slick.next-slick-hoz .next-slick-arrow.large {
width: 48px;
width: var(--slick-arrow-width-l, 48px);
height: 96px;
height: var(--slick-arrow-height-l, 96px);
line-height: 96px;
line-height: var(--slick-arrow-height-l, 96px); }
.next-slick.next-slick-hoz .next-slick-arrow.large .next-icon:before,
.next-slick.next-slick-hoz .next-slick-arrow.large .next-icon .next-icon-remote {
width: 32px;
width: var(--slick-arrow-icon-l, 32px);
font-size: 32px;
font-size: var(--slick-arrow-icon-l, 32px);
line-height: inherit; }
.next-slick.next-slick-hoz .next-slick-arrow.large.inner {
top: calc(50% - 48px);
top: calc(50% - var(--slick-arrow-height-l, 96px)/2); }
.next-slick.next-slick-hoz .next-slick-arrow.large.inner.next-slick-prev {
left: 0; }
.next-slick.next-slick-hoz .next-slick-arrow.large.inner.next-slick-next {
right: 0; }
.next-slick.next-slick-hoz .next-slick-arrow.large.outer {
top: calc(50% - 48px);
top: calc(50% - var(--slick-arrow-height-l, 96px)/2); }
.next-slick.next-slick-hoz .next-slick-arrow.large.outer.next-slick-prev {
left: -8px;
left: calc(0px - var(--slick-arrow-position-lr-l, 8px)); }
.next-slick.next-slick-hoz .next-slick-arrow.large.outer.next-slick-next {
right: -8px;
right: calc(0px - var(--slick-arrow-position-lr-l, 8px)); }
.next-slick.next-slick-ver.next-slick-outer {
padding: 24px 0;
padding: var(--slick-ver-track-padding-tb, 24px) 0; }
.next-slick.next-slick-ver .next-slick-slide {
display: block;
height: auto;
/* border: $slick-ver-slide-border-width solid transparent; */ }
.next-slick.next-slick-ver .next-slick-arrow {
/* size medium */
/* size medium & position inner */
/* size medium & position outer */
/* size large */
/* size large & position inner */
/* size large & position outer */ }
.next-slick.next-slick-ver .next-slick-arrow.medium {
width: 56px;
width: var(--slick-ver-arrow-width-m, 56px);
height: 28px;
height: var(--slick-ver-arrow-height-m, 28px);
line-height: 28px;
line-height: var(--slick-ver-arrow-height-m, 28px); }
.next-slick.next-slick-ver .next-slick-arrow.medium .next-icon:before,
.next-slick.next-slick-ver .next-slick-arrow.medium .next-icon .next-icon-remote {
width: 20px;
width: var(--slick-arrow-icon-m, 20px);
font-size: 20px;
font-size: var(--slick-arrow-icon-m, 20px);
line-height: inherit; }
.next-slick.next-slick-ver .next-slick-arrow.medium.inner {
left: calc(50% - 28px);
left: calc(50% - var(--slick-ver-arrow-width-m, 56px)/2); }
.next-slick.next-slick-ver .next-slick-arrow.medium.inner.next-slick-prev {
top: 0; }
.next-slick.next-slick-ver .next-slick-arrow.medium.inner.next-slick-next {
bottom: 0; }
.next-slick.next-slick-ver .next-slick-arrow.medium.outer {
left: calc(50% - 28px);
left: calc(50% - var(--slick-ver-arrow-width-m, 56px)/2); }
.next-slick.next-slick-ver .next-slick-arrow.medium.outer.next-slick-prev {
top: -4px;
top: calc(0px - var(--slick-ver-arrow-position-tb-m, 4px)); }
.next-slick.next-slick-ver .next-slick-arrow.medium.outer.next-slick-next {
bottom: -4px;
bottom: calc(0px - var(--slick-ver-arrow-position-tb-m, 4px)); }
.next-slick.next-slick-ver .next-slick-arrow.large {
width: 96px;
width: var(--slick-ver-arrow-width-l, 96px);
height: 48px;
height: var(--slick-ver-arrow-height-l, 48px);
line-height: 48px;
line-height: var(--slick-ver-arrow-height-l, 48px); }
.next-slick.next-slick-ver .next-slick-arrow.large .next-icon:before,
.next-slick.next-slick-ver .next-slick-arrow.large .next-icon .next-icon-remote {
width: 32px;
width: var(--slick-arrow-icon-l, 32px);
font-size: 32px;
font-size: var(--slick-arrow-icon-l, 32px);
line-height: inherit; }
.next-slick.next-slick-ver .next-slick-arrow.large.inner {
left: calc(50% - 48px);
left: calc(50% - var(--slick-ver-arrow-width-l, 96px)/2); }
.next-slick.next-slick-ver .next-slick-arrow.large.inner.next-slick-prev {
top: 0; }
.next-slick.next-slick-ver .next-slick-arrow.large.inner.next-slick-next {
bottom: 0; }
.next-slick.next-slick-ver .next-slick-arrow.large.outer {
left: calc(50% - 48px);
left: calc(50% - var(--slick-ver-arrow-width-l, 96px)/2); }
.next-slick.next-slick-ver .next-slick-arrow.large.outer.next-slick-prev {
top: -16px;
top: calc(0px - var(--slick-ver-arrow-position-tb-l, 16px)); }
.next-slick.next-slick-ver .next-slick-arrow.large.outer.next-slick-next {
bottom: -16px;
bottom: calc(0px - var(--slick-ver-arrow-position-tb-l, 16px)); }