HTML/CSS/ js 制作圆形图像滑块动画效果banner产品展示cid1155源码下载

html and css

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <title>Circular image slider with html,css and anime.js</title>
  5. <style>
  6. @import url('https://fonts.googleapis.com/css?family=Molle:400i|Open+Sans+Condensed:300,700');
  7. html,
  8. body {
  9. margin: 0;
  10. padding: 0;
  11. overflow-x: hidden;
  12. }
  13. body {
  14. font-family: 'Open Sans Condensed', sans-serif;
  15. background: #8e9eab; /* fallback for old browsers */
  16. background: -webkit-linear-gradient(to right, #dde3e6, #8e9eab); /* Chrome 10-25, Safari 5.1-6 */
  17. background: linear-gradient(to right, #dde3e6, #8e9eab); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  18. position: relative;
  19. display: block;
  20. width: 100%;
  21. height: auto;
  22. min-height: 100%;
  23. min-height: 100vh;
  24. overflow: hidden;
  25. }
  26. .slider {
  27. position: relative;
  28. display: block;
  29. width: 100%;
  30. width: 100vw;
  31. height: 100%;
  32. height: 100vh;
  33. overflow: hidden;
  34. }
  35. .slider__nav-bar {
  36. position: absolute;
  37. width: 180px;
  38. height: 180px;
  39. bottom: -90px;
  40. left: 50%;
  41. transform: translateX( -50% );
  42. border-radius: 90px;
  43. text-align: center;
  44. background: #dde3e6;
  45. z-index: 100;
  46. }
  47. .slider__arrow {
  48. position: absolute;
  49. top: 50%;
  50. transform: translateY( -50% );
  51. width: 64px;
  52. height: 64px;
  53. transition: 0.2s;
  54. cursor: pointer;
  55. z-index: 100;
  56. opacity: 0.8;
  57. }
  58. .slider__arrow:hover {
  59. opacity: 1;
  60. }
  61. .slider__arrow_prev {
  62. left: 16px;
  63. width: 64px;
  64. height: 64px;
  65. background-image:url(assets/img/arrow__left-white.png);
  66. background-repeat: no-repeat;
  67. background-position: center center;
  68. background-size: auto 64px;
  69. }
  70. .slider__arrow_next {
  71. right: 16px;
  72. width: 64px;
  73. height: 64px;
  74. background-image: url(assets/img/arrow__right-white.png);
  75. background-repeat: no-repeat;
  76. background-position: center center;
  77. background-size: auto 64px;
  78. }
  79. .nav-control {
  80. position: relative;
  81. display: inline-block;
  82. vertical-align: middle;
  83. opacity: 0.5;
  84. width: 32px;
  85. height: 32px;
  86. transition: 0.2s;
  87. cursor: pointer;
  88. background-image: url(assets/img/dot-black.png);
  89. background-repeat: no-repeat;
  90. background-position: center center;
  91. background-size: 26px 26px;
  92. margin-top: 32px;
  93. z-index: 3;
  94. }
  95. .nav-control:hover {
  96. opacity: 0.8;
  97. }
  98. .nav-control_active {
  99. opacity: 1;
  100. }
  101. .slider-list {
  102. position: relative;
  103. overflow: hidden;
  104. width: 100%;
  105. height: 100%;
  106. margin: 0;
  107. padding: 0;
  108. list-style-type: none;
  109. }
  110. .slider-list::before {
  111. content: '';
  112. display: block;
  113. padding-top: calc(9 / 16 * 100%);
  114. }
  115. .slider-list__item {
  116. position: absolute;
  117. top: 0;
  118. left: 0;
  119. -webkit-transform: translateX(100%);
  120. transform: translateX(100%);
  121. width: 100%;
  122. height: 100%;
  123. background-repeat: no-repeat;
  124. background-position: 50% 50%;
  125. background-size: cover;
  126. display: flex;
  127. justify-content: center;
  128. align-items: center;
  129. font-size: 16vw;
  130. color: #000;
  131. will-change: transform;
  132. z-index: 1;
  133. }
  134. .slider-list__item .back__element {
  135. position: absolute;
  136. display: block;
  137. width: 100%;
  138. height: 100%;
  139. top: 0; left: 0; right: 0; bottom: 0;
  140. z-index: 1;
  141. }
  142. .slider-list__item .back__element img {
  143. position: relative;
  144. display: block;
  145. width: 100%;
  146. max-width: 640px;
  147. height: auto;
  148. top: 50%; left: 50%;
  149. transform: translate( -50%, -50% );
  150. }
  151. .slider-list__item .main__element {
  152. position: absolute;
  153. display: block;
  154. width: 100%;
  155. height: 100%;
  156. top: 0; left: 0; right: 0; bottom: 0;
  157. z-index: 3;
  158. }
  159. .slider-list__item .main__element img {
  160. position: relative;
  161. display: block;
  162. width: 100%;
  163. max-width: 320px;
  164. height: auto;
  165. top: 50%; left: 50%;
  166. transform: translate( -50%, -50% );
  167. }
  168. .slider-list__item .front__element {
  169. position: absolute;
  170. display: block;
  171. width: 100%;
  172. height: 100%;
  173. top: 0; left: 0; right: 0; bottom: 0;
  174. z-index: 4;
  175. /* transform: scale(0); */
  176. }
  177. .slider-list__item .front__element img {
  178. position: relative;
  179. display: block;
  180. width: 100%;
  181. max-width: 640px;
  182. height: auto;
  183. top: 50%; left: 50%;
  184. transform: translate( -50%, -50% );
  185. }
  186. .slider-list__item .title__element {
  187. position: absolute;
  188. display: block;
  189. width: 100%;
  190. height: 100%;
  191. top: 0; left: 0; right: 0; bottom: 0;
  192. z-index: 2;
  193. }
  194. .slider-list__item .title__element .title {
  195. position: relative;
  196. display: block;
  197. width: 100%;
  198. height: auto;
  199. top: 50%; left: 50%;
  200. transform: rotate(-15deg) translate( -45%, -125% );
  201. font-family: 'Molle', cursive;
  202. color: #eef2f3;
  203. text-align: center;
  204. }
  205. .slider-list__item .more__element {
  206. position: absolute;
  207. display: block;
  208. width: 100%;
  209. height: 100%;
  210. top: 0; left: 0; right: 0; bottom: 0;
  211. z-index: 10;
  212. }
  213. .slider-list__item .more__element .content {
  214. position: relative;
  215. display: block;
  216. width: 100%;
  217. max-width: 768px;
  218. height: auto;
  219. margin: 64px auto;
  220. padding: 0 32px;
  221. color: #2e3131;
  222. text-align: left;
  223. }
  224. .slider-list__item .more__element .content .headline {
  225. position: relative;
  226. display: block;
  227. max-width: 240px;
  228. font-family: 'Molle', cursive;
  229. font-size: 38px;
  230. line-height: 46px;
  231. }
  232. .slider-list__item .more__element .content .excerpt {
  233. position: relative;
  234. display: block;
  235. max-width: 240px;
  236. font-family: 'Open Sans Condensed', sans-serif;
  237. font-size: 16px;
  238. line-height: 24px;
  239. padding: 8px 0 16px;
  240. }
  241. .slider-list__item .more__element .content .link {
  242. position: relative;
  243. display: block;
  244. font-family: 'Open Sans Condensed', sans-serif;
  245. width: 180px;
  246. height: 48px;
  247. border-radius: 24px;
  248. font-size: 16px;
  249. line-height: 24px;
  250. box-shadow: 0 14px 28px rgba(0,0,0,0.05), 0 10px 10px rgba(0,0,0,0.06);
  251. transition: all 0.4s ease;
  252. }
  253. .slider-list__item .more__element .content .link .fill {
  254. position: absolute;
  255. background-image: linear-gradient(to right, #d43325, #f36e67);
  256. background-size: 150% 150%;
  257. height: 48px;
  258. width: 180px;
  259. border-radius: 24px;
  260. margin: 0;
  261. z-index: -1;
  262. transition: all 0.4s ease;
  263. -webkit-animation: gradient 3s ease infinite;
  264. -moz-animation: gradient 3s ease infinite;
  265. animation: gradient 3s ease infinite;
  266. }
  267. .slider-list__item .more__element .content .link .fill.fill-dark {
  268. background-image: linear-gradient(to right, #252228, #848f9e);
  269. }
  270. .slider-list__item .more__element .content .link a {
  271. position: absolute;
  272. display: block;
  273. width: 100%;
  274. height: 100%;
  275. color: #dde3e6;
  276. font-weight: 700;
  277. text-align: center;
  278. line-height: 48px;
  279. text-decoration: none;
  280. outline: 0px none;
  281. outline: 0px;
  282. z-index: 2;
  283. }
  284. .slider-list__item .more__element .content .link:hover {
  285. box-shadow: 0 19px 38px rgba(0,0,0,0.05), 0 15px 12px rgba(0,0,0,0.06);
  286. }
  287. .slider-list__item_active {
  288. -webkit-transform: translateX(0);
  289. transform: translateX(0);
  290. z-index: 2;
  291. }
  292. @media screen and (max-width: 640px) {
  293. .slider-list__item .title__element .title {
  294. font-size: 26vw;
  295. }
  296. .slider-list__item .more__element .content .excerpt {
  297. display: none;
  298. }
  299. .slider-list__item .more__element .content .link {
  300. margin-top: 16px;
  301. }
  302. }
  303. @media screen and (max-width: 560px) {
  304. .slider__nav-bar {
  305. /* hide dots for mobile */
  306. opacity: 0;
  307. z-index: -1;
  308. }
  309. }
  310. @keyframes gradient {
  311. 0% {
  312. background-position: 0% 50%;
  313. }
  314. 50% {
  315. background-position: 100% 50%;
  316. }
  317. 100% {
  318. background-position: 0% 50%;
  319. }
  320. }
  321. </style>
  322. <script>
  323. window.dataLayer = window.dataLayer || [];
  324. function gtag(){dataLayer.push(arguments);}
  325. gtag('js', new Date());
  326. gtag('config', 'UA-124048250-1');
  327. </script>
  328. </head>
  329. <body>
  330. <section class="page-wrapper" >
  331. <div class="slider">
  332. <ul class="slider-list">
  333. <li class="slider-list__item ">
  334. <span class="back__element">
  335. <img src="assets/img/back_apple_002.png" />
  336. </span>
  337. <span class="main__element">
  338. <img src="assets/img/bottle_apple_002.png" />
  339. </span>
  340. <span class="front__element">
  341. <img src="assets/img/front_apple_002.png" />
  342. </span>
  343. <span class="title__element">
  344. <span class="title">apple</span>
  345. </span>
  346. <span class="more__element">
  347. <span class="content">
  348. <span class="headline">apple</span>
  349. <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
  350. <span class="link">
  351. <div class="fill"></div>
  352. <a href="#">Open catalog</a>
  353. </span>
  354. </span>
  355. </span>
  356. </li>
  357. <li class="slider-list__item">
  358. <span class="back__element">
  359. <img src="assets/img/back_grapes_001.png" />
  360. </span>
  361. <span class="main__element">
  362. <img src="assets/img/bottle_grapes_001.png" />
  363. </span>
  364. <span class="front__element">
  365. <img src="assets/img/front_grapes_001.png" />
  366. </span>
  367. <span class="title__element">
  368. <span class="title">grapes</span>
  369. </span>
  370. <span class="more__element">
  371. <span class="content">
  372. <span class="headline">grapes</span>
  373. <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
  374. <span class="link">
  375. <div class="fill fill-dark"></div>
  376. <a href="#">Open catalog</a>
  377. </span>
  378. </span>
  379. </span>
  380. </li>
  381. <li class="slider-list__item">
  382. <span class="back__element">
  383. <img src="assets/img/back_strawberry_003.png" />
  384. </span>
  385. <span class="main__element">
  386. <img src="assets/img/bottle_strawberry_003.png" />
  387. </span>
  388. <span class="front__element">
  389. <img src="assets/img/front_strawberry_003.png" />
  390. </span>
  391. <span class="title__element">
  392. <span class="title">strawberry</span>
  393. </span>
  394. <span class="more__element">
  395. <span class="content">
  396. <span class="headline">strawberry</span>
  397. <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
  398. <span class="link">
  399. <div class="fill"></div>
  400. <a href="#">Open catalog</a>
  401. </span>
  402. </span>
  403. </span>
  404. </li>
  405. </ul>
  406. <div class="slider__nav-bar">
  407. <a class="nav-control"></a>
  408. <a class="nav-control"></a>
  409. <a class="nav-control"></a>
  410. </div>
  411. <div class="slider__controls">
  412. <a class="slider__arrow slider__arrow_prev"></a>
  413. <a class="slider__arrow slider__arrow_next"></a>
  414. </div>
  415. </div>
  416. </section>
  417. <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/2.2.0/anime.min.js"></script>
  418. <script src="assets/js/demo.js"></script>
  419. </body>
  420. </html>
<!doctype html>
<html lang="en">
  <head>
     
    <title>Circular image slider with html,css and anime.js</title>
   
     <style>
           
 @import url('https://fonts.googleapis.com/css?family=Molle:400i|Open+Sans+Condensed:300,700');
      
      html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body  {
  font-family: 'Open Sans Condensed', sans-serif;
  background: #8e9eab;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #dde3e6, #8e9eab);  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #dde3e6, #8e9eab); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 100%;
  min-height: 100vh;
  overflow: hidden;
}

.slider {
  position: relative;
  display: block;
  width: 100%;
  width: 100vw;
  height: 100%;
  height: 100vh;
  overflow: hidden;
}
.slider__nav-bar {
  position: absolute;
  width: 180px;
  height: 180px;
  bottom: -90px;
  left: 50%;
  transform: translateX( -50% );
  border-radius: 90px;
  text-align: center;
  background: #dde3e6;
  z-index: 100;
}
.slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY( -50% );
  width: 64px;
  height: 64px;
  transition: 0.2s;
  cursor: pointer;
  z-index: 100;
  opacity: 0.8;
}
.slider__arrow:hover {
  opacity: 1;
}
.slider__arrow_prev {
  left: 16px;
  width: 64px;
  height: 64px;
  background-image:url(assets/img/arrow__left-white.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 64px;
}
.slider__arrow_next {
  right: 16px;
  width: 64px;
  height: 64px;
  background-image: url(assets/img/arrow__right-white.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 64px;
}
.nav-control {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  opacity: 0.5;
  width: 32px;
  height: 32px;
  transition: 0.2s;
  cursor: pointer;
  background-image: url(assets/img/dot-black.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 26px 26px;
  margin-top: 32px;
  z-index: 3;
}
.nav-control:hover {
  opacity: 0.8;
}
.nav-control_active {
  opacity: 1;
}
.slider-list {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.slider-list::before {
  content: '';
  display: block;
  padding-top: calc(9 / 16 * 100%);
}
.slider-list__item {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16vw;
  color: #000;
  will-change: transform;
  z-index: 1;
}
.slider-list__item .back__element {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
}
.slider-list__item .back__element img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 640px;
  height: auto;
  top: 50%; left: 50%;
  transform: translate( -50%, -50% );
}
.slider-list__item .main__element {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 3;
}
.slider-list__item .main__element img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  top: 50%; left: 50%;
  transform: translate( -50%, -50% );
}
.slider-list__item .front__element {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 4;
  /* transform: scale(0); */
}
.slider-list__item .front__element img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 640px;
  height: auto;
  top: 50%; left: 50%;
  transform: translate( -50%, -50% );
}
.slider-list__item .title__element {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 2;
}
.slider-list__item .title__element .title {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  top: 50%; left: 50%;
  transform: rotate(-15deg) translate( -45%, -125% );
  font-family: 'Molle', cursive;
  color: #eef2f3;
  text-align: center;
}
.slider-list__item .more__element {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 10;
}
.slider-list__item .more__element .content {
  position: relative;
  display: block;
  width: 100%;
  max-width: 768px;
  height: auto;
  margin: 64px auto;
  padding: 0 32px;
  color: #2e3131;
  text-align: left;
}
.slider-list__item .more__element .content .headline {
  position: relative;
  display: block;
  max-width: 240px;
  font-family: 'Molle', cursive;
  font-size: 38px;
  line-height: 46px;
}
.slider-list__item .more__element .content .excerpt {
  position: relative;
  display: block;
  max-width: 240px;
  font-family: 'Open Sans Condensed', sans-serif;
  font-size: 16px;
  line-height: 24px;
  padding: 8px 0 16px;
}
.slider-list__item .more__element .content .link {
  position: relative;
  display: block;
  font-family: 'Open Sans Condensed', sans-serif;
  width: 180px;
  height: 48px;
  border-radius: 24px;
  font-size: 16px;
  line-height: 24px;
  box-shadow: 0 14px 28px rgba(0,0,0,0.05), 0 10px 10px rgba(0,0,0,0.06);
  transition: all 0.4s ease;
}
.slider-list__item .more__element .content .link .fill {
  position: absolute;
  background-image: linear-gradient(to right, #d43325, #f36e67);
  background-size: 150% 150%;
  height: 48px;
  width: 180px;
  border-radius: 24px;
  margin: 0;
  z-index: -1;
  transition: all 0.4s ease;
  -webkit-animation: gradient 3s ease infinite;
  -moz-animation: gradient 3s ease infinite;
  animation: gradient 3s ease infinite;
}
.slider-list__item .more__element .content .link .fill.fill-dark {
  background-image: linear-gradient(to right, #252228, #848f9e);
} 
.slider-list__item .more__element .content .link a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  color: #dde3e6;
  font-weight: 700;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  outline: 0px none;
  outline: 0px;
  z-index: 2;
}
.slider-list__item .more__element .content .link:hover {
  box-shadow: 0 19px 38px rgba(0,0,0,0.05), 0 15px 12px rgba(0,0,0,0.06);
}
.slider-list__item_active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  z-index: 2;
}


@media screen and (max-width: 640px) {

  .slider-list__item .title__element .title {
    font-size: 26vw;
  }

  .slider-list__item .more__element .content .excerpt {
    display: none;
  }

  .slider-list__item .more__element .content .link {
    margin-top: 16px;
  }

}

@media screen and (max-width: 560px) {

  .slider__nav-bar {
    /* hide dots for mobile */
    opacity: 0;
    z-index: -1;
  }

}
 
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
      
      </style>
   
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'UA-124048250-1');
    </script>
    

  </head>
  <body>

   
    <section class="page-wrapper" >

      <div class="slider">
        
        <ul class="slider-list">
          
          <li class="slider-list__item  ">
            <span class="back__element">
              <img src="assets/img/back_apple_002.png" />
            </span>
            <span class="main__element">
              <img src="assets/img/bottle_apple_002.png" />
            </span>
            <span class="front__element">
              <img src="assets/img/front_apple_002.png" />
            </span>
            <span class="title__element">
              <span class="title">apple</span>
            </span>
            <span class="more__element">
              <span class="content">
                <span class="headline">apple</span>
                <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
                <span class="link">
                  <div class="fill"></div>
                  <a href="#">Open catalog</a>
                </span>
              </span>
            </span>
           </li>

          <li class="slider-list__item">
            <span class="back__element">
              <img src="assets/img/back_grapes_001.png" />
            </span>
            <span class="main__element">
              <img src="assets/img/bottle_grapes_001.png" />
            </span>
            <span class="front__element">
              <img src="assets/img/front_grapes_001.png" />
            </span>
            <span class="title__element">
              <span class="title">grapes</span>
            </span>
            <span class="more__element">
              <span class="content">
                <span class="headline">grapes</span>
                <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
                <span class="link">
                  <div class="fill fill-dark"></div>
                  <a href="#">Open catalog</a>
                </span>
              </span>
            </span>
           </li>

           <li class="slider-list__item">
            <span class="back__element">
              <img src="assets/img/back_strawberry_003.png" />
            </span>
            <span class="main__element">
              <img src="assets/img/bottle_strawberry_003.png" />
            </span>
            <span class="front__element">
              <img src="assets/img/front_strawberry_003.png" />
            </span>
            <span class="title__element">
              <span class="title">strawberry</span>
            </span>
            <span class="more__element">
              <span class="content">
                <span class="headline">strawberry</span>
                <span class="excerpt">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Illo ratione nisi perferendis? Nemo in accusamus cupiditate officiis.</span>
                <span class="link">
                    <div class="fill"></div>
                  <a href="#">Open catalog</a>
                </span>
              </span>
            </span>
           </li>
           
        </ul>
        
        <div class="slider__nav-bar">
          <a class="nav-control"></a>
          <a class="nav-control"></a>
          <a class="nav-control"></a>
        </div>
        
        <div class="slider__controls">
          <a class="slider__arrow slider__arrow_prev"></a>
          <a class="slider__arrow slider__arrow_next"></a>
        </div>

      </div>      

    </section>
  
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/2.2.0/anime.min.js"></script>
    
    <script src="assets/js/demo.js"></script>

  </body>
</html>

在线演示


让链接同时具备两种打开方式

获取源码: imagee slider with anime.js
下载数:229人次, 文件大小: 3.6 MB, 上传日期: 2021年-5 月-07日

公众号回复:gcode  获取解压密码

qrcode_for_gh_6ea2c28a1709_258 (1)

2,842 人查阅

类似文章