vui-design
Version:
A high quality UI Toolkit based on Vue.js
262 lines (217 loc) • 5.16 kB
text/less
@vui-list: ~"@{vui}-list";
.@{vui-list} {
position:relative;
display:block;
border-radius:@list-border-radius;
color:@list-font-color;
font-size:@list-font-size;
line-height:@list-line-height;
transition:all @transition-duration @transition-timing-function;
&-header {
display:block;
color:@list-header-font-color;
}
&-body {
display:block;
}
&-body &-more {
display:flex;
justify-content:center;
text-align:center;
transition:all @transition-duration @transition-timing-function;
}
&-footer {
display:block;
}
&-item {
display:flex;
justify-content:space-between;
align-items:center;
&-main {
flex:1;
display:block;
}
&-meta {
flex:1;
display:flex;
justify-content:flex-start;
align-items:flex-start;
&-avatar {
margin-right:@list-item-meta-avatar-margin-right;
}
&-content {
flex:1 0;
width:0;
}
&-title {
display:flex;
justify-content:flex-start;
align-items:flex-start;
color:@list-item-meta-title-font-color;
white-space:normal;
word-break:break-all;
word-wrap:break-word;
a {
color:inherit;
&:hover {
color:@link-hover-color;
}
&:active {
color:@link-active-color;
}
}
}
&-description {
display:block;
color:@list-item-meta-description-font-color;
white-space:normal;
word-break:break-all;
word-wrap:break-word;
}
}
&-actions {
display:flex;
justify-content:flex-start;
align-items:center;
margin:0;
padding:0;
list-style:none;
}
&-action {
display:flex;
justify-content:flex-start;
align-items:center;
color:@list-item-action-font-color;
font-size:@list-item-action-font-size;
transition:all @transition-duration @transition-timing-function;
a {
color:inherit;
&:hover {
color:@list-item-action-hover-font-color;
}
&:active {
color:@list-item-action-active-font-color;
}
}
&-divider {
display:block;
width:@list-item-action-divider-width;
height:@list-item-action-divider-height;
background-color:shade(@list-item-border-color, 10%);
background-image:linear-gradient(@list-item-border-color, shade(@list-item-border-color, 10%), @list-item-border-color);
}
}
&-extra {
}
}
&-horizontal &-item {
align-items:center;
&-meta {
margin-bottom:0;
&-title {
font-size:@font-size;
}
&-description {
margin-top:@margin-xs;
}
}
&-actions {
flex:0 0 auto;
margin-left:@margin-md;
}
&-action {
color:@primary-color;
&-divider {
margin:0 @margin-xs;
}
}
&-extra {
margin-left:@margin-xl;
}
}
&-vertical &-item {
align-items:flex-start;
&-meta {
margin-bottom:@margin-md;
&-title {
font-size:@font-size-lg;
}
&-description {
margin-top:@margin-sm;
}
}
&-actions {
margin-top:@margin-md;
}
&-action {
color:@font-secondary-color;
&-divider {
margin:0 @margin-md;
}
}
&-extra {
margin-left:@margin-xl;
}
}
&-small &-header,
&-small &-footer,
&-small &-item,
&-small &-more {
padding-top:@list-item-padding-vertical-sm;
padding-bottom:@list-item-padding-vertical-sm;
}
&-medium &-header,
&-medium &-footer,
&-medium &-item,
&-medium &-more {
padding-top:@list-item-padding-vertical-md;
padding-bottom:@list-item-padding-vertical-md;
}
&-large &-header,
&-large &-footer,
&-large &-item,
&-large &-more {
padding-top:@list-item-padding-vertical-lg;
padding-bottom:@list-item-padding-vertical-lg;
}
&-bordered {
border:1px solid @list-border-color;
}
&-bordered&-small &-header,
&-bordered&-small &-footer,
&-bordered&-small &-item,
&-bordered&-small &-more {
padding-left:@list-item-padding-horizontal-sm;
padding-right:@list-item-padding-horizontal-sm;
}
&-bordered&-medium &-header,
&-bordered&-medium &-footer,
&-bordered&-medium &-item,
&-bordered&-medium &-more {
padding-left:@list-item-padding-horizontal-md;
padding-right:@list-item-padding-horizontal-md;
}
&-bordered&-large &-header,
&-bordered&-large &-footer,
&-bordered&-large &-item,
&-bordered&-large &-more {
padding-left:@list-item-padding-horizontal-lg;
padding-right:@list-item-padding-horizontal-lg;
}
&-split &-header {
border-bottom:1px solid @list-item-border-color;
}
&-split &-footer {
border-top:1px solid @list-item-border-color;
}
&-split &-item:not(:last-child) {
border-bottom:1px solid @list-item-border-color;
}
&-grid &-item {
display:block;
max-width:100%;
border-bottom:none;
padding-top:0;
padding-bottom:0;
}
}