universal-slider.css 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. .universal-slider {
  2. position: relative;
  3. width: 100%;
  4. overflow: hidden;
  5. }
  6. .universal-slider .slider-container {
  7. display: -webkit-box;
  8. display: -ms-flexbox;
  9. display: flex;
  10. -webkit-transition: -webkit-transform 0.5s ease-in-out;
  11. transition: -webkit-transform 0.5s ease-in-out;
  12. -o-transition: transform 0.5s ease-in-out;
  13. transition: transform 0.5s ease-in-out;
  14. transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  15. width: 100%;
  16. }
  17. .universal-slider .slider-slide {
  18. -ms-flex-negative: 0;
  19. flex-shrink: 0;
  20. -webkit-user-select: none;
  21. -moz-user-select: none;
  22. -ms-user-select: none;
  23. user-select: none;
  24. outline: none;
  25. }
  26. .universal-slider .slider-slide > * {
  27. width: 100%;
  28. height: auto;
  29. }
  30. .slider-pagination {
  31. display: -webkit-box;
  32. display: -ms-flexbox;
  33. display: flex;
  34. -webkit-box-pack: center;
  35. -ms-flex-pack: center;
  36. justify-content: center;
  37. -webkit-box-align: center;
  38. -ms-flex-align: center;
  39. align-items: center;
  40. gap: 8px;
  41. margin-top: 20px;
  42. }
  43. /* Fallback for browsers without gap support */
  44. .slider-pagination > * + * {
  45. margin-left: 8px;
  46. }
  47. .pagination-dot {
  48. width: 12px;
  49. height: 12px;
  50. border-radius: 50%;
  51. border: none;
  52. background: #ddd;
  53. cursor: pointer;
  54. -webkit-transition: all 0.3s ease;
  55. -o-transition: all 0.3s ease;
  56. transition: all 0.3s ease;
  57. outline: none;
  58. }
  59. .pagination-dot:hover {
  60. background: #4da6ff;
  61. -webkit-transform: scale(1.1);
  62. -ms-transform: scale(1.1);
  63. transform: scale(1.1);
  64. }
  65. .pagination-dot.active {
  66. background: #007bff;
  67. -webkit-transform: scale(1.2);
  68. -ms-transform: scale(1.2);
  69. transform: scale(1.2);
  70. }
  71. .pagination-dot:disabled {
  72. opacity: 0.5;
  73. cursor: not-allowed;
  74. }
  75. .slider-arrow {
  76. position: absolute;
  77. top: 50%;
  78. -webkit-transform: translateY(-50%);
  79. -ms-transform: translateY(-50%);
  80. transform: translateY(-50%);
  81. width: 40px;
  82. height: 40px;
  83. border: none;
  84. border-radius: 50%;
  85. background: rgba(255, 255, 255, 0.9);
  86. color: #007bff;
  87. font-size: 20px;
  88. font-weight: bold;
  89. cursor: pointer;
  90. -webkit-transition: all 0.3s ease;
  91. -o-transition: all 0.3s ease;
  92. transition: all 0.3s ease;
  93. z-index: 10;
  94. display: -webkit-box;
  95. display: -ms-flexbox;
  96. display: flex;
  97. -webkit-box-align: center;
  98. -ms-flex-align: center;
  99. align-items: center;
  100. -webkit-box-pack: center;
  101. -ms-flex-pack: center;
  102. justify-content: center;
  103. -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  104. box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  105. outline: none;
  106. }
  107. .slider-arrow:hover {
  108. background: rgba(255, 255, 255, 1);
  109. -webkit-transform: translateY(-50%) scale(1.1);
  110. -ms-transform: translateY(-50%) scale(1.1);
  111. transform: translateY(-50%) scale(1.1);
  112. -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  113. box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  114. }
  115. .slider-arrow:disabled {
  116. opacity: 0.5;
  117. cursor: not-allowed;
  118. -webkit-transform: translateY(-50%) scale(0.9);
  119. -ms-transform: translateY(-50%) scale(0.9);
  120. transform: translateY(-50%) scale(0.9);
  121. }
  122. .slider-arrow-prev {
  123. left: 10px;
  124. }
  125. .slider-arrow-next {
  126. right: 10px;
  127. }
  128. /* Fallback Internet Explorer */
  129. @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  130. .universal-slider .slider-container {
  131. display: -ms-flexbox;
  132. }
  133. .slider-pagination {
  134. display: -ms-flexbox;
  135. }
  136. .slider-arrow {
  137. display: -ms-flexbox;
  138. }
  139. }