1

我很难弄清楚如何使用 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;
    }
    
  • 4

    1 回答 1

    2
    <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; }
    }
    
    于 2014-03-24T20:30:43.880 回答