index.less 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. @import './var.less';
  2. :root {
  3. --van-skeleton-row-height: @skeleton-row-height;
  4. --van-skeleton-row-background-color: @skeleton-row-background-color;
  5. --van-skeleton-row-margin-top: @skeleton-row-margin-top;
  6. --van-skeleton-title-width: @skeleton-title-width;
  7. --van-skeleton-avatar-size: @skeleton-avatar-size;
  8. --van-skeleton-avatar-background-color: @skeleton-avatar-background-color;
  9. --van-skeleton-animation-duration: @skeleton-animation-duration;
  10. }
  11. .van-skeleton {
  12. display: flex;
  13. padding: 0 var(--van-padding-md);
  14. &__avatar {
  15. flex-shrink: 0;
  16. width: var(--van-skeleton-avatar-size);
  17. height: var(--van-skeleton-avatar-size);
  18. margin-right: var(--van-padding-md);
  19. background: var(--van-skeleton-avatar-background-color);
  20. &--round {
  21. border-radius: var(--van-border-radius-max);
  22. }
  23. }
  24. &__content {
  25. width: 100%;
  26. }
  27. &__avatar + &__content {
  28. padding-top: var(--van-padding-xs);
  29. }
  30. &__row,
  31. &__title {
  32. height: var(--van-skeleton-row-height);
  33. background: var(--van-skeleton-row-background-color);
  34. }
  35. &__title {
  36. width: var(--van-skeleton-title-width);
  37. margin: 0;
  38. }
  39. &__row {
  40. &:not(:first-child) {
  41. margin-top: var(--van-skeleton-row-margin-top);
  42. }
  43. }
  44. &__title + &__row {
  45. margin-top: 20px;
  46. }
  47. &--animate {
  48. animation: van-skeleton-blink var(--van-skeleton-animation-duration)
  49. ease-in-out infinite;
  50. }
  51. &--round {
  52. .van-skeleton__row,
  53. .van-skeleton__title {
  54. border-radius: var(--van-border-radius-max);
  55. }
  56. }
  57. }
  58. @keyframes van-skeleton-blink {
  59. 50% {
  60. opacity: 0.6;
  61. }
  62. }