index.less 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. width: 100%;
  37. transition-property: transform;
  38. &--vertical {
  39. width: auto;
  40. height: 100%;
  41. }
  42. img {
  43. // disable desktop browser image drag
  44. -webkit-user-drag: none;
  45. }
  46. .van-image {
  47. &__error {
  48. top: 30%;
  49. height: 40%;
  50. }
  51. &__error-icon {
  52. font-size: 36px;
  53. }
  54. &__loading {
  55. background-color: transparent;
  56. }
  57. }
  58. }
  59. &__index {
  60. position: absolute;
  61. top: var(--van-padding-md);
  62. left: 50%;
  63. color: var(--van-image-preview-index-text-color);
  64. font-size: var(--van-image-preview-index-font-size);
  65. line-height: var(--van-image-preview-index-line-height);
  66. text-shadow: var(--van-image-preview-index-text-shadow);
  67. transform: translate(-50%, 0);
  68. }
  69. &__overlay {
  70. background: var(--van-image-preview-overlay-background-color);
  71. }
  72. &__close-icon {
  73. position: absolute;
  74. z-index: var(--van-image-preview-close-icon-z-index);
  75. color: var(--van-image-preview-close-icon-color);
  76. font-size: var(--van-image-preview-close-icon-size);
  77. &--top-left {
  78. top: var(--van-image-preview-close-icon-margin);
  79. left: var(--van-image-preview-close-icon-margin);
  80. }
  81. &--top-right {
  82. top: var(--van-image-preview-close-icon-margin);
  83. right: var(--van-image-preview-close-icon-margin);
  84. }
  85. &--bottom-left {
  86. bottom: var(--van-image-preview-close-icon-margin);
  87. left: var(--van-image-preview-close-icon-margin);
  88. }
  89. &--bottom-right {
  90. right: var(--van-image-preview-close-icon-margin);
  91. bottom: var(--van-image-preview-close-icon-margin);
  92. }
  93. }
  94. }