{"id":4500,"date":"2026-06-08T18:30:06","date_gmt":"2026-06-08T15:30:06","guid":{"rendered":"https:\/\/notes.profidev.online\/?p=4500"},"modified":"2026-06-09T20:46:24","modified_gmt":"2026-06-09T17:46:24","slug":"image-carousel","status":"publish","type":"post","link":"https:\/\/notes.profidev.online\/ru\/slider\/4500\/","title":{"rendered":"Image Carousel"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/notes.profidev.online\/reactjs\/4517\/\" data-type=\"link\" data-id=\"https:\/\/notes.profidev.online\/reactjs\/4517\/\"><strong>ReactJS version<\/strong><\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Image Carousel. React.js\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/hrMrYTT_K4Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;htmlmixed&quot;,&quot;mime&quot;:&quot;text\/html&quot;,&quot;theme&quot;:&quot;cobalt&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:false,&quot;fileName&quot;:&quot;HTML&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;HTML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;html&quot;}\">    &lt;main&gt;\n  &lt;ul class='slider'&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/cdn.mos.cms.futurecdn.net\/dP3N4qnEZ4tCTCLq59iysd.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;Lossless Youths&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt; Lorem ipsum, dolor sit amet consectetur\n        adipisicing elit. Tempore fuga voluptatum, iure corporis inventore\n        praesentium nisi. Id laboriosam ipsam enim.  &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/i.redd.it\/tc0aqpv92pn21.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;Estrange Bond&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt; Lorem ipsum, dolor sit amet consectetur\n        adipisicing elit. Tempore fuga voluptatum, iure corporis inventore\n        praesentium nisi. Id laboriosam ipsam enim.  &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/wharferj.files.wordpress.com\/2015\/11\/bio_north.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;The Gate Keeper&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt; Lorem ipsum, dolor sit amet consectetur\n        adipisicing elit. Tempore fuga voluptatum, iure corporis inventore\n        praesentium nisi. Id laboriosam ipsam enim.  &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/images7.alphacoders.com\/878\/878663.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;Last Trace Of Us&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt;\n          Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore fuga voluptatum, iure corporis inventore praesentium nisi. Id laboriosam ipsam enim.\n        &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/theawesomer.com\/photos\/2017\/07\/simon_stalenhag_the_electric_state_6.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;Urban Decay&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt;\n          Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore fuga voluptatum, iure corporis inventore praesentium nisi. Id laboriosam ipsam enim.\n        &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n    &lt;li class='item' style=&quot;background-image: url('https:\/\/da.se\/app\/uploads\/2015\/09\/simon-december1994.jpg')&quot;&gt;\n      &lt;div class='content'&gt;\n        &lt;h2 class='title'&gt;&quot;The Migration&quot;&lt;\/h2&gt;\n        &lt;p class='description'&gt; Lorem ipsum, dolor sit amet consectetur\n        adipisicing elit. Tempore fuga voluptatum, iure corporis inventore\n        praesentium nisi. Id laboriosam ipsam enim.  &lt;\/p&gt;\n        &lt;button&gt;Read More&lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/li&gt;\n  &lt;\/ul&gt;\n  &lt;nav class='nav'&gt;\n    &lt;ion-icon class='btn prev' name=&quot;arrow-back-outline&quot;&gt;&lt;\/ion-icon&gt;\n    &lt;ion-icon class='btn next' name=&quot;arrow-forward-outline&quot;&gt;&lt;\/ion-icon&gt;\n  &lt;\/nav&gt;\n&lt;\/main&gt;\n\n&lt;script type=&quot;module&quot; src=&quot;https:\/\/unpkg.com\/ionicons@7.1.0\/dist\/ionicons\/ionicons.esm.js&quot;&gt;&lt;\/script&gt;\n&lt;script nomodule src=&quot;https:\/\/unpkg.com\/ionicons@7.1.0\/dist\/ionicons\/ionicons.js&quot;&gt;&lt;\/script&gt;\n\n\n\n\n    &lt;script src=&quot;script.js&quot;&gt;&lt;\/script&gt;<\/pre><\/div>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;css&quot;,&quot;mime&quot;:&quot;text\/css&quot;,&quot;theme&quot;:&quot;cobalt&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:false,&quot;fileName&quot;:&quot;CSS&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;CSS&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;css&quot;}\">* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  height: 100vh;\n  display: grid;\n  place-items: center;\n  overflow: hidden;\n}\n\nmain {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  box-shadow: 0 3px 10px rgba(0,0,0,0.3);\n}\n\n.item {\n  width: 200px;\n  height: 300px;\n  list-style-type: none;\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 1;\n  background-position: center;\n  background-size: cover;\n  border-radius: 20px;\n  box-shadow: 0 20px 30px rgba(255,255,255,0.3) inset;\n  transition: transform 0.1s, left 0.75s, top 0.75s, width 0.75s, height 0.75s;\n\n  &amp;:nth-child(1), &amp;:nth-child(2) {\n    left: 0;\n    top: 0;\n    width: 100%;\n    height: 100%;\n    transform: none;\n    border-radius: 0;\n    box-shadow: none;\n    opacity: 1;\n  }\n\n  &amp;:nth-child(3) { left: 50%; }\n  &amp;:nth-child(4) { left: calc(50% + 220px); }\n  &amp;:nth-child(5) { left: calc(50% + 440px); }\n  &amp;:nth-child(6) { left: calc(50% + 660px); opacity: 0; }\n}\n\n.content {\n  width: min(30vw,400px);\n  position: absolute;\n  top: 50%;\n  left: 3rem;\n  transform: translateY(-50%);\n  font: 400 0.85rem helvetica,sans-serif;\n  color: white;\n  text-shadow: 0 3px 8px rgba(0,0,0,0.5);\n  opacity: 0;\n  display: none;\n\n  &amp; .title {\n    font-family: 'arial-black';\n    text-transform: uppercase;\n  }\n\n  &amp; .description {\n    line-height: 1.7;\n    margin: 1rem 0 1.5rem;\n    font-size: 0.8rem;\n  }\n\n  &amp; button {\n    width: fit-content;\n    background-color: rgba(0,0,0,0.1);\n    color: white;\n    border: 2px solid white;\n    border-radius: 0.25rem;\n    padding: 0.75rem;\n    cursor: pointer;\n  }\n}\n\n.item:nth-of-type(2) .content {\n  display: block;\n  animation: show 0.75s ease-in-out 0.3s forwards;\n}\n\n@keyframes show {\n  0% {\n    filter: blur(5px);\n    transform: translateY(calc(-50% + 75px));\n  }\n  100% {\n    opacity: 1;\n    filter: blur(0);\n  }\n}\n\n.nav {\n  position: absolute;\n  bottom: 2rem;\n  left: 50%;\n  transform: translateX(-50%);\n  z-index: 5;\n  user-select: none;\n\n  &amp; .btn {\n    background-color: rgba(255,255,255,0.5);\n    color: rgba(0,0,0,0.7);\n    border: 2px solid rgba(0,0,0,0.6);\n    margin: 0 0.25rem;\n    padding: 0.75rem;\n    border-radius: 50%;\n    cursor: pointer;\n\n    &amp;:hover {\n      background-color: rgba(255,255,255,0.3);\n    }\n  }\n}\n\n@media (width &gt; 650px) and (width &lt; 900px) {\n  .content {\n    &amp; .title        { font-size: 1rem; }\n    &amp; .description  { font-size: 0.7rem; }\n    &amp; button        { font-size: 0.7rem; }\n  }\n  .item {\n    width: 160px;\n    height: 270px;\n\n    &amp;:nth-child(3) { left: 50%; }\n    &amp;:nth-child(4) { left: calc(50% + 170px); }\n    &amp;:nth-child(5) { left: calc(50% + 340px); }\n    &amp;:nth-child(6) { left: calc(50% + 510px); opacity: 0; }\n  }\n}\n\n@media (width &lt; 650px) {\n  .content {\n    &amp; .title        { font-size: 0.9rem; }\n    &amp; .description  { font-size: 0.65rem; }\n    &amp; button        { font-size: 0.7rem; }\n  }\n  .item {\n    width: 130px;\n    height: 220px;\n\n    &amp;:nth-child(3) { left: 50%; }\n    &amp;:nth-child(4) { left: calc(50% + 140px); }\n    &amp;:nth-child(5) { left: calc(50% + 280px); }\n    &amp;:nth-child(6) { left: calc(50% + 420px); opacity: 0; }\n  }\n}<\/pre><\/div>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;text\/javascript&quot;,&quot;theme&quot;:&quot;cobalt&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:true,&quot;readOnly&quot;:false,&quot;fileName&quot;:&quot;JavaScript&quot;,&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true},&quot;language&quot;:&quot;JavaScript&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;js&quot;}\">   const slider = document.querySelector('.slider');\n\nfunction activate(e) {\n  const items = document.querySelectorAll('.item');\n  e.target.matches('.next') &amp;&amp; slider.append(items[0])\n  e.target.matches('.prev') &amp;&amp; slider.prepend(items[items.length-1]);\n}\n\ndocument.addEventListener('click',activate,false);<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ReactJS version<\/p>","protected":false},"author":1,"featured_media":4516,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-4500","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-slider"],"_links":{"self":[{"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/posts\/4500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/comments?post=4500"}],"version-history":[{"count":9,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/posts\/4500\/revisions"}],"predecessor-version":[{"id":4528,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/posts\/4500\/revisions\/4528"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/media\/4516"}],"wp:attachment":[{"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/media?parent=4500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/categories?post=4500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.profidev.online\/ru\/wp-json\/wp\/v2\/tags?post=4500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}