рд╕реАрдПрд╕рдПрд╕ рд╕реНрд▓рд╛рдЗрдб рд╢реЛ (рд╕рд╛рд╕)

рд╡рд┐рд╖рдп, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд╣реИрдВ - рд╕реНрдореИрд╢рд┐рдВрдЧ рдореИрдЧрдЬрд╝реАрди рдФрд░ рдмреНрд▓реЙрдЧреНрд╕ рдкрд░ , рд╕рд╛рде рд╣реА рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ( рд╕реНрд░реЛрдд рдХреЛрдб , рдХреЗрд╡рд▓ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рдПрдирд┐рдореЗрд╢рди рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди, рдШрд╛рддрдХ рджреЛрд╖ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ - рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрд▓рд╛рдЗрдб рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдиреАрдореЗрд╢рди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реНрд▓рд╛рдЗрдб рд╢реЛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреИрд░реЛрдбреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ (рдЬреЛ рдЕрдВрдд рдореЗрдВ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ) - рдЕрд░реНрдерд╛рдд, рдЬрдм рдЖрдк рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдиреАрдореЗрд╢рди рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдпрдирд┐рдд рд╕реНрд▓рд╛рдЗрдб рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдЬрд┐рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА - рддреБрд░рдВрдд рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо ред



рд╕реНрд▓рд╛рдЗрдб рдкрд░рд┐рд╡рд░реНрддрди


рдореБрдВрд╣рддреЛрдбрд╝ рдкрддреНрд░рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдПрдиреАрдореЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ -
#slider li.firstanimation { animation: cycle 25s linear infinite; } #slider li.secondanimation { animation: cycletwo 25s linear infinite; } #slider li.thirdanimation { animation: cyclethree 25s linear infinite; } #slider li.fourthanimation { animation: cyclefour 25s linear infinite; } #slider li.fifthanimation { animation: cyclefive 25s linear infinite; } 

рдФрд░ рдЖрдЧреЗ рд╕рднреА рдПрдирд┐рдореЗрд╢рди cycle , cycletwo , рдЖрджрд┐ рдХреЗ рд▓рд┐рдПред @keyframes рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред

рдпрджрд┐ рд╕рднреА рд╕реНрд▓рд╛рдЗрдб рдЙрд╕реА рддрд░рд╣ рдПрдирд┐рдореЗрдЯреЗрдб рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдмреЗрдорд╛рдиреА рд╣реИ - рдмрд╕ рдПрдХ рдПрдиреАрдореЗрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ animationтАСdelay рд╕рд╛рде рд╕реЗрдЯ animationтАСdelay ред рд╣рдо :nthтАСchild рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗрдВрдЧреЗ :nthтАСchild ред рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд▓рд╛рдЗрдб 3 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ i-th рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд▓рд┐рдП, рджреЗрд░реА 3 * (i - 1) рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, li:nthтАСchild(1) { animationтАСdelay: 0s } ред рдкреВрд░реЗ рдПрдиреАрдореЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╕реНрд▓рд╛рдЗрдб рдХреЛ рдкрд╣рд▓реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕реЗ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдЕрдВрдд рддрдХ рдЫрд┐рдкрд╛ рд░рд╣рддрд╛ рд╣реИред

рдЪрд░:
 //     camelCase, ..    php //      //   $sliderLength: 4 // ,      $delay: 3s //    $duration: $sliderLength * $delay // ,      ( ) $displayTime: 100% / $sliderLength @keyframes toggle //    0% opacity: 0 //      10%  . //    $delay,       #{$displayTime * 0.1} opacity: 1 // 80%     #{$displayTime * 0.9} opacity: 1 //  10%    #{$displayTime} opacity: 0 //       100% opacity: 0 

рд╕реНрд╡рдпрдВ рдПрдиреАрдореЗрд╢рди:
 //         .slider li animation-name: toggle animation-duration: $duration animation-iteration-count: infinite //   // animation: toggle $duration infinite @for $i from 0 to $sliderLength .slider li:nth-child(#{$i + 1}) //          animation-delay: $delay * $i 

рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдкрд░рд┐рдгрд╛рдо ред

рдЬреЛ Sass / SCSS рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ
 $sliderLength: 4 //   $delay: 3s //     $duration: $sliderLength * $delay $displayTime: 100% / $sliderLength //     @keyframes toggle //    0% opacity: 0 // #{...}       #{$displayTime * 0.1} opacity: 1 #{$displayTime * 0.9} opacity: 1 #{$displayTime} opacity: 0 100% opacity: 0 .slider li animation: toggle $duration infinite //  for.    -    $sliderLength - 1 @for $i from 0 to $sliderLength //      .slider li:nth-child(#{$i + 1}) animation-delay: $delay * $i 


рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдИрдорд╛рдирджрд╛рд░ рдирд╣реАрдВ рд╣реИ - рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЪрдХреНрд░ рдХреЗрд╡рд▓ рддреАрди рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ $i рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдо рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ -
 .slider li:nth-child(1) { animation-delay: 0s; } .slider li:nth-child(2) { animation-delay: 3s; } .slider li:nth-child(3) { animation-delay: 6s; } .slider li:nth-child(4) { animation-delay: 9s; } 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕реАрдПрд╕рдПрд╕ рдХреА рдорд╛рддреНрд░рд╛ [рдЗрд╕ рд╕реНрддрд░ рдкрд░] рд╕реНрд▓рд╛рдЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝реЗрдЧреАред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдпрд╣ рднреВрд▓ рдЬрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реАрдПрд╕рдПрд╕ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдорд╛рд░реНрдЯ рдмреНрдпреВрд░рд░реНрд╕ рд╣реИрдВ рдЬреЛ рд╕реИрд╕ рдХреЛ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рдмрд┐рдирд╛, рд▓реЗрдЦ рдХреЛ рдЖрдЧреЗ рдкрдврд╝рдирд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реНрд▓рд╛рдЗрдб рдкрд░ рдЬрд╛рдПрдВ


рд╕реНрд▓рд╛рдЗрдб рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд - рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рд░реЗрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреМрди рд╕рд╛ рдЗрдирдкреБрдЯ рд╕рдХреНрд░рд┐рдп рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдмрд╕ рдЙрд╕ рдХреНрд░рдо рдХреЛ рдмрджрд▓реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдкрд╣рд▓рд╛ рдЗрдирдкреБрдЯ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдХрддрд╛рд░ 1, 2, 3, 4 , рдпрджрд┐ рджреВрд╕рд░рд╛ рд╕рдХреНрд░рд┐рдп рд╣реИ - 4, 1, 2, 3 , рдЖрджрд┐ред рдпрд╣реА рд╣реИ, рд╕рдХреНрд░рд┐рдп рдПрдирдЯреА рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде, рд╣рдо рд╕реА-рдХреНрд░рдо рдХреЛ n тАС 1 рд╕реНрдерд┐рддрд┐ рд╕реЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдкрдбрд╝реЛрд╕реА рдЪрдпрдирдХрд░реНрддрд╛ ~ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, input:nthтАСofтАСtype(1):checked ~ .slider li (рдкрдврд╝реЗрдВ - рдпрджрд┐ рд╕реВрдЪреА рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓рд╛ рдЗрдирдкреБрдЯ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдРрд╕реА рдФрд░ рдРрд╕реА рд╢реИрд▓реА рд▓рд╛рдЧреВ рдХрд░реЗрдВ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдирдкреБрдЯ рдХреЛ рдЙрд╕ рд╕реВрдЪреА рдХреЗ рд╕рд╛рдордиреЗ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╕реНрд▓рд╛рдЗрдб рд╣реИрдВред

рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдХреА рддрд░рд╣ рд╣реА рд╡реИрд░рд┐рдПрдмрд▓ рдФрд░ @keyframes рднреА рд╕рдорд╛рди рд╣реИрдВред

 //        . input:active ~ .slider li animation: none !important .slider li animation: toggle $duration infinite //        @for $ctrlNumber from 0 to $sliderLength //        input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength //   $position: $slideNumber - $ctrlNumber //     @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}) animation-delay: $delay * $position 

рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдкрд░рд┐рдгрд╛рдо ред

рд╕рдЪ рд╣реИ, рдЕрдЧрд░ рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рд╕реНрд▓рд╛рдЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдмрдврд╝реА, рддреЛ рдЕрдм рдПрдХ рджреНрд╡рд┐рдШрд╛рдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди, рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реБрдПред

рд╡рд░реНрддрдорд╛рди рдЗрдирдкреБрдЯ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ ...


... рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЕрд╕рдВрднрд╡ред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЙрдиреНрд╣реЗрдВ CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдЪреЗрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 ,   ,     .    -              - -            ( , -  ,   ?)   ,      . ,      .            .  ,          -   ,   ,      ,    . ,      . 

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
 ,   ,     .    -              - -            ( , -  ,   ?)   ,      . ,      .            .  ,          -   ,   ,      ,    . ,      . 

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.

, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.

, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
 ,   ,     .    -              - -            ( , -  ,   ?)   ,      . ,      .            .  ,          -   ,   ,      ,    . ,      . 

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
 ,   ,     .    -              - -            ( , -  ,   ?)   ,      . ,      .            .  ,          -   ,   ,      ,    . ,      . 

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.

, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.

, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.
, , . - - - ( , - , ?) , . , . . , - , , , . , .

// @keyframes @keyframes toggle-ctrl #{$display-time * 0.1}, #{$display-time * 0.9} background-color: #555 #{$display-time}, 100% background-color: #ccc

input:active ~ .slider li, ~ label animation: none !important .slider li animation: toggle-slide $duration infinite label animation: toggle-ctrl $duration infinite @for $ctrlNumber from 0 to $sliderLength input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $sliderLength $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $sliderLength ~ .slider li:nth-child(#{$slideNumber + 1}), // ~ label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position
.

/ .
, . , - . - ( ) - , - (). ( : , :after :before . , (?) .)
, , , . - , , . - label:active { fontтАСsize: 30px; }

'' , , for label :
// html (jade) - for (var i = 0; i < sliderLength; i++) - var id = i - 1 - if (id < 0) id = sliderLength - 1 label.prev(for='c#{id}') тЗЪ - for (var i = 0; i < sliderLength; i++) - var id = i + 1 - if (id === sliderLength) id = 0 label.next(for='c#{id}') тЗЫ
CSS:
input:active ~ .slide li, ~ .label, ~ .prev, ~ .next animation: none !important .slide li animation: toggle-slide $duration infinite .label animation: toggle-ctrl $duration infinite .prev, .next animation: toggle-arrow $duration infinite @for $ctrlNumber from 0 to $length input:nth-of-type(#{$ctrlNumber + 1}):checked @for $slideNumber from 0 to $length $position: $slideNumber - $ctrlNumber @if $position < 0 $position: $position + $length ~ .slide li:nth-child(#{$slideNumber + 1}), ~ .label:nth-of-type(#{$slideNumber + 1}) animation-delay: $delay * $position // $prev: $slideNumber - 1 @if $prev < 0 $prev: $length - 1 // $next: $slideNumber + 1 @if $next == $length $next: 0 // 'type' - label, // ~ .prev:nth-of-type(#{$prev + 1 + $length}), ~ .next:nth-of-type(#{$next + 1 + $length * 2}) animation-delay: $delay * $position
, (-, ?), . .
.


. CSS ( 260 ).

:
, CSS animation Sass Sass Jade
:
.

Source: https://habr.com/ru/post/In202844/


All Articles