magiccube-vue3
Version:
vue3-js版组件库
181 lines (151 loc) • 5.76 kB
text/less
@import './root.css';
@import './theme';
.mc-pagination{
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
font-size: var(--mc-small-size);
color: var(--mc-subtitle-color);
@margin: 0 8px;
&__total{
display: flex;
flex-direction: row;
align-items: center;
margin-right: 16px;
& > em {
margin: @margin;
}
}
&__size{
display: flex;
flex-direction: row;
align-items: center;
}
&__pages{
display: flex;
flex-direction: row;
align-items: center;
margin: 0 32px;
color: #142D4C;
.ellipsis{
margin: 0 8px;
}
.page-tip, .page-number{
margin: 0 8px;
padding: 2px 4px;
font-size: @font-small;
cursor: pointer;
&:hover{
color: @color-hover;
}
&.active{
color: var(--mc-main-color);
cursor: default;
}
}
.page-number{
&.active{
position: relative;
z-index: 1;
color: #fff;
cursor: default;
&::before{
content: '';
display: block;
position: absolute;
top: 50%;
left: 50%;
z-index: -1;
transform: translate(-50%, -50%);
width: 24px;
height: 24px;
background-color: var(--mc-main-color);
border-radius: 50%;
}
}
&.simple{
&.active{
color: var(--mc-main-color);
font-weight: bold;
&::before{
display: none;
}
}
}
}
.page-prev{
margin-right: 8px;
width: 7px;
height: 12px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAAIVJREFUGBljYEAGXCBOP4gAs0AMEFABEYtBBAiAeRAmRB2KDFg3SJYRpgRIg7QoIvEZKmGcZiDDGMSBM5iAHCkgvg8ShYG5QIYQjAOi5zIj84BskIPrgDgJiB8BMRiABEEGLwZisC1gUSABsn8ZEDvBBNBpkItBloK8g2IxskKiFAmCdAAAJMsOyeqOFbsAAAAASUVORK5CYII=');
cursor: pointer;
&:hover:not(.disabled){
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAALVJREFUGBldjzESAUEQRX+vXETgCGQkmykX2JJwBEdyjx2qFHsCCRcQS+xsIBCordLma2vQVTPV/f7v7hkgxqZqJ6gfByBkEec+BXJ/J0nCGUeJvrdCSwpXnhpVmuQlCEafOoAdBwHO7yG6tGRdZmRU+oAcWdgQ568BDwgsAojjifiQWgsohmjpzMRvKDrHtLuy9rAfealw1cJAvK2TXxEUgF6QyARZ50zL785/UxzylW1vPVZPe7VIryA1SzkAAAAASUVORK5CYII=');
}
&.disabled{
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAAIpJREFUGBldjrEKg0AQRC9GCIgRAn5D2hAsrI78f2dj4wekSicpYuW8gznOLDx2Z3aX3RDKqCupAacu7Q7xspOUBXOHzujOyYUyK9dCh4cFx3pELnihESuuI6q4WJDjuVSqeeQp7uLr25icasUsPiLQxLyJRbxFDm/yMUObmMRPpE2y43/I/iGnt3fiqQ3fRjslQgAAAABJRU5ErkJggg==');
cursor: default;
}
}
.page-next{
margin-left: 8px;
width: 7px;
height: 12px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAAIVJREFUGBljYEAGXCBOP4gAs0AMEFABEYtBBAiAeRAmRB2KDFg3SJYRpgRIg7QoIvEZKmGcZiDDGMSBM5iAHCkgvg8ShYG5QIYQjAOi5zIj84BskIPrgDgJiB8BMRiABEEGLwZisC1gUSABsn8ZEDvBBNBpkItBloK8g2IxskKiFAmCdAAAJMsOyeqOFbsAAAAASUVORK5CYII=');
transform: rotate(180deg);
cursor: pointer;
&:hover:not(.disabled){
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAALVJREFUGBldjzESAUEQRX+vXETgCGQkmykX2JJwBEdyjx2qFHsCCRcQS+xsIBCordLma2vQVTPV/f7v7hkgxqZqJ6gfByBkEec+BXJ/J0nCGUeJvrdCSwpXnhpVmuQlCEafOoAdBwHO7yG6tGRdZmRU+oAcWdgQ568BDwgsAojjifiQWgsohmjpzMRvKDrHtLuy9rAfealw1cJAvK2TXxEUgF6QyARZ50zL785/UxzylW1vPVZPe7VIryA1SzkAAAAASUVORK5CYII=');
}
&.disabled{
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAAHZkpeGAAAAAXNSR0IArs4c6QAAAIpJREFUGBldjrEKg0AQRC9GCIgRAn5D2hAsrI78f2dj4wekSicpYuW8gznOLDx2Z3aX3RDKqCupAacu7Q7xspOUBXOHzujOyYUyK9dCh4cFx3pELnihESuuI6q4WJDjuVSqeeQp7uLr25icasUsPiLQxLyJRbxFDm/yMUObmMRPpE2y43/I/iGnt3fiqQ3fRjslQgAAAABJRU5ErkJggg==');
cursor: default;
}
}
}
&__goto{
display: flex;
flex-direction: row;
align-items: center;
}
&__input {
display: flex;
align-items: center;
margin: @margin;
padding: 0;
width: 40px;
height: 24px;
text-align-last: center;
background-color: var(--mc-background-color);
border-radius: 12px;
// &:hover{
// border-color: @color-default;
// }
&--inner{
width: 100%;
height: 100%;
text-align: center;
text-indent: 0;
color: @color-font;
font-size: var(--mc-small-size);
border: none;
background: none;
border-radius: 12px;
&:focus{
outline: none;
}
}
}
&__align{
&--center{
justify-content: center;
}
&--left{
justify-content: flex-start;
}
&--right{
justify-content: flex-end;
}
}
}