Появление и импульсный текст, пауза, затем исчезновение с ключевыми кадрами CSS3 в цикле?

Мне трудно понять, как я могу добиться следующего с помощью ключевых кадров CSS.

В настоящее время у меня есть слайд-шоу, содержащее 4 слайда, которые имеют время с ключевыми кадрами и настроены на бесконечный цикл.

Когда каждый слайд появляется в "рамке", я хочу, чтобы какой-то текст появлялся и пульсировал только один раз, а затем исчезал. Как эта демонстрация, за исключением того, что я не хочу использовать jQuery. демонстрация

Если бы кто-нибудь мог помочь, я был бы очень признателен.

Я наткнулся на этот пример, и это своего рода то, чего я хочу достичь, но мне нужно 4

  • и для этого пульсировать. Я не могу понять, как мне нужно редактировать ключевые кадры.

    Мой CSS для моего слайд-шоу выглядит так

    @-webkit-keyframes slider {
      0%, 20%, 100%{ left: 0 }
      25%, 45%{ left: -100% }
      50%, 70%{ left: -200% }
      75%, 95%{ left: -300% }
    }
    @-moz-keyframes slider {
      0%, 20%, 100%{ left: 0 }
      25%, 45%{ left: -100% }
      50%, 70%{ left: -200% }
      75%, 95%{ left: -300% }
    }
    @keyframes slider {
      0%, 20%, 100%{ left: 0 }
      25%, 45%{ left: -100% }
      50%, 70%{ left: -200% }
      75%, 95%{ left: -300% }
    }
    
    #carousel .video-list, #descriptionCarousel .description-list {
      position: relative;
      width: 400%;
      height: 100%;
      left: 0; 
      top: 0;
      bottom: 0;
      animation: slider 45s cubic-bezier(.93,.11,.32,.94) infinite;
      -webkit-animation: slider 45s cubic-bezier(.93,.11,.32,.94) infinite;
      -moz-animation: slider 45s cubic-bezier(.93,.11,.32,.94) infinite;
      -o-animation: slider 45s cubic-bezier(.93,.11,.32,.94) infinite;
      -ms-animation: slider 45s cubic-bezier(.93,.11,.32,.94) infinite;
      -webkit-animation-play-state: paused;
      -moz-animation-play-state: paused;
      animation-play-state: paused;
    }
    
  • 1 ответ

    Решение
    <div id="animation">
        <ul>
            <li class="one">This is</li>
            <li class="two">CSS3 looped</li>
            <li class="tree">animation</li>
            <li class="four">animation</li>
        </ul>
    </div>
    

    CSS

    #animation{
        width: 200px;
        height: 60px;
    }
    .one, .two, .tree, .four{
        position: absolute;
        width: 200px;
        height: 60px;
    }
    .one{
        background-color: red;
        opacity: 0;
        -webkit-animation: one 12s ease-in alternate infinite;
    }
    .two{
        background-color: green;
        opacity: 0;
        -webkit-animation: two 12s ease-in alternate infinite;
    }
    .tree{
        background-color: gray;
        opacity: 0;
        -webkit-animation: tree 12s ease-in alternate infinite;
    }
    .four{
        background-color: purple;
        opacity: 0;
        -webkit-animation: four 12s ease-in alternate infinite;
    }
    @-webkit-keyframes one {
        0% { opacity: 1; }
        33% { opacity: 0; }
        66% { opacity: 0; }
        99% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes two {
        0% { opacity: 0; }
        33% { opacity: 1; }
        66% { opacity: 0; }
        99% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes tree {
        0% { opacity: 0; }
        33% { opacity: 0; }
        66% { opacity: 1; }
        99% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes four {
        0% { opacity: 0; }
        33% { opacity: 0; }
        66% { opacity: 0; }
        100% { opacity: 1; }
    }
    

    новый css

    #animation{
        width: 200px;
        height: 60px;
    }
    .one, .two, .tree, .four{
        position: absolute;
        width: 200px;
        height: 60px;
        display: block;
    }
    .one{
        background-color: red;
        opacity: 0;
        -webkit-animation: one 30s infinite linear;
        /*-webkit-transition: all .2s ease-in-out;*/
        -webkit-transform: scale(0.9,0.9);
        -webkit-transition-timing-function: linear;
        -webkit-transition-duration: .05s;
    }
    .two{
        background-color: green;
        opacity: 0;
        -webkit-animation: two 30s infinite linear;
        -webkit-transform: scale(0.5,0.5);
        -webkit-transition-timing-function: linear;
        -webkit-transition-duration: .05s;
    }
    .tree{
        background-color: gray;
        opacity: 0;
        -webkit-animation: tree 30s infinite linear;
        -webkit-transform: scale(0.5,0.5);
        -webkit-transition-timing-function: linear;
        -webkit-transition-duration: .05s;
    }
    .four{
        background-color: purple;
        opacity: 0;
        -webkit-animation: four 30s infinite linear;
        -webkit-transform: scale(0.5,0.5);
        -webkit-transition-timing-function: linear;
        -webkit-transition-duration: .05s;
    }
    @-webkit-keyframes one {
        0% { opacity: 1; 
        }
        5%{
            -webkit-transform: scale(1.1,1.1); 
        }
        10%{
            -webkit-transform: scale(1.1,1.1); 
            opacity: 1; 
        }
        15%{
            -webkit-transform: scale(1.1,1.1);
            opacity: 1; 
        }
        20% { 
            -webkit-transform: scale(0.5,0.5);
            opacity: 0; 
        }
    
    
        25% { opacity: 0; }
        30% { opacity: 0; }
        35% { opacity: 0; }
        40% { opacity: 0; }
        45% { opacity: 0; }
        50% { opacity: 0; }
        55% { opacity: 0; }
        60% { opacity: 0; }
        65% { opacity: 0; }
        70% { opacity: 0; }
        75% { opacity: 0; }
        80% { opacity: 0; }
        85% { opacity: 0; }
        90% { opacity: 0; }
        95% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes two {
        0% { opacity: 0; }
        5% { opacity: 0; }
        10% { opacity: 0; }
        15% { opacity: 0; }
        20% { opacity: 0; }
    
        25% { opacity: 1; }
        30% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        35% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        40% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        45% {
            -webkit-transform: scale(0.5,0.5); 
            opacity: 0; }
    
    
        50% { opacity: 0; }
        55% { opacity: 0; }
        60% { opacity: 0; }
        65% { opacity: 0; }
        70% { opacity: 0; }
        75% { opacity: 0; }
        80% { opacity: 0; }
        85% { opacity: 0; }
        90% { opacity: 0; }
        95% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes tree {
        0% { opacity: 0; }
        5% { opacity: 0; }
        10% { opacity: 0; }
        15% { opacity: 0; }
        20% { opacity: 0; }
        25% { opacity: 0; }
        30% { opacity: 0; }
        35% { opacity: 0; }    
        40% { opacity: 0; }
        45% { opacity: 0; }
    
    
        50% { opacity: 1; }
        55% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        60% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        65% { 
             -webkit-transform: scale(1.2,1.2
            opacity: 1; }
        70% { 
            -webkit-transform: scale(0.5,0.5);
            opacity: 0; }
    
        75% { opacity: 0; }
        80% { opacity: 0; }
        85% { opacity: 0; }
        90% { opacity: 0; }
        95% { opacity: 0; }
        100% { opacity: 0; }
    }
    @-webkit-keyframes four {
        0% { opacity: 0; }
        5% { opacity: 0; }
        10% { opacity: 0; }
        15% { opacity: 0; }
        20% { opacity: 0; }
        25% { opacity: 0; }
        30% { opacity: 0; }
        35% { opacity: 0; }
        40% { opacity: 0; }
        45% { opacity: 0; }
        50% { opacity: 0; }
        55% { opacity: 0; }    
        60% { opacity: 0; }
        65% { opacity: 0; }
        70% { opacity: 0; }
    
        75% { opacity: 1; }
        80% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        85% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        90% { 
             -webkit-transform: scale(1.2,1.2);
            opacity: 1; }
        95% { 
            -webkit-transform: scale(0.8,0.8);
            opacity: 0.5; }
        100% { 
            -webkit-transform: scale(0.5,0.5);
            opacity: 0; }
    }
    
    Другие вопросы по тегам