index.less 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. @import './var.less';
  2. :root {
  3. --van-image-preview-index-text-color: @image-preview-index-text-color;
  4. --van-image-preview-index-font-size: @image-preview-index-font-size;
  5. --van-image-preview-index-line-height: @image-preview-index-line-height;
  6. --van-image-preview-index-text-shadow: @image-preview-index-text-shadow;
  7. --van-image-preview-overlay-background-color: @image-preview-overlay-background-color;
  8. --van-image-preview-close-icon-size: @image-preview-close-icon-size;
  9. --van-image-preview-close-icon-color: @image-preview-close-icon-color;
  10. --van-image-preview-close-icon-margin: @image-preview-close-icon-margin;
  11. --van-image-preview-close-icon-z-index: @image-preview-close-icon-z-index;
  12. }
  13. .van-image-preview {
  14. position: fixed;
  15. top: 0;
  16. left: 0;
  17. width: 100%;
  18. height: 100%;
  19. background-color: transparent;
  20. transform: none;
  21. &__swipe {
  22. height: 100%;
  23. &-item {
  24. display: flex;
  25. align-items: center;
  26. justify-content: center;
  27. overflow: hidden;
  28. }
  29. }
  30. &__cover {
  31. position: absolute;
  32. top: 0;
  33. left: 0;
  34. }
  35. &__image,
  36. &__image-wrap {
  37. width: 100%;
  38. transition-property: transform;
  39. &--vertical {
  40. width: auto;
  41. height: 100%;
  42. }
  43. img,
  44. video {
  45. // disable desktop browser image drag
  46. -webkit-user-drag: none;
  47. }
  48. .van-image {
  49. &__error {
  50. top: 30%;
  51. height: 40%;
  52. }
  53. &__error-icon {
  54. font-size: 36px;
  55. }
  56. &__loading {
  57. background-color: transparent;
  58. }
  59. }
  60. }
  61. &__index {
  62. position: absolute;
  63. top: var(--van-padding-md);
  64. left: 50%;
  65. color: var(--van-image-preview-index-text-color);
  66. font-size: var(--van-image-preview-index-font-size);
  67. line-height: var(--van-image-preview-index-line-height);
  68. text-shadow: var(--van-image-preview-index-text-shadow);
  69. transform: translate(-50%, 0);
  70. }
  71. &__overlay {
  72. background: var(--van-image-preview-overlay-background-color);
  73. }
  74. &__close-icon {
  75. position: absolute;
  76. z-index: var(--van-image-preview-close-icon-z-index);
  77. color: var(--van-image-preview-close-icon-color);
  78. font-size: var(--van-image-preview-close-icon-size);
  79. &--top-left {
  80. top: var(--van-image-preview-close-icon-margin);
  81. left: var(--van-image-preview-close-icon-margin);
  82. }
  83. &--top-right {
  84. top: var(--van-image-preview-close-icon-margin);
  85. right: var(--van-image-preview-close-icon-margin);
  86. }
  87. &--bottom-left {
  88. bottom: var(--van-image-preview-close-icon-margin);
  89. left: var(--van-image-preview-close-icon-margin);
  90. }
  91. &--bottom-right {
  92. right: var(--van-image-preview-close-icon-margin);
  93. bottom: var(--van-image-preview-close-icon-margin);
  94. }
  95. }
  96. }