2017-01-24 11 views
0

私は偶数と奇数のnth-of-typeに遅延を適用していますが、遅延は常に問題なく同じであるという問題があります何。だから私が奇数に10秒、偶数に3秒を置くと、すべてのリンクで10秒になるでしょう。CSSアニメーション遅延はすべての要素に適用されません

a { 
      position: relative; 
      line-height: 200%; 
      display: inline-block; 
      text-transform: uppercase; 
      font-size: $header-link-size; 
      transform: scale(0); 
      animation: scaleIn .5s; 
      animation-fill-mode: both; 

      &:nth-of-type(even) { 
      animation-delay: 2s; 
      } 

      &:nth-of-type(odd) { 
      animation-delay: 3s; 
      } 

      @keyframes scaleIn { 
      from { 
       transform: scale(0); 
      } 
      to { 
       transform: scale(1); 
      } 
      } 
} 
+0

CSSはあなたの関連するHTMLを提供することができ、正常に動作するようですか? – Marvin

+0

@Marvin、http://codepen.io/anon/pen/ygoyQL、リンクのアニメーションの遅延をチェックすると、それはまだ同じであることがわかります。 –

答えて

2

nth-of-type() -selectorは(私たちはおよそ兄弟話を)同じ親要素内タイプのn番目の子であるすべての要素にマッチします。ネストされた要素では機能しません。あなたのマークアップに関しては、<li>の中にある<a>のすべてが唯一のものなので、常に奇妙であり、アニメーション遅延はすべて同じです。

偶数および奇数<li>要素を選択し、それらのリンクにアニメーション遅延を追加する必要があります。

a { 
 
    position: relative; 
 
    line-height: 200%; 
 
    display: inline-block; 
 
    text-transform: uppercase; 
 
    font-size: 1em; 
 
    transform: scale(0); 
 
    animation: scaleIn .5s; 
 
    animation-fill-mode: both 
 
} 
 
li:nth-of-type(even) a { 
 
    animation-delay: 1s 
 
} 
 
li:nth-of-type(odd) a { 
 
    animation-delay: 2s 
 
} 
 
@keyframes scaleIn { 
 
    from { 
 
    transform: scale(0) 
 
    } 
 
    to { 
 
    transform: scale(1) 
 
    } 
 
}
<ul> 
 
    <li><a class="active" href="">Home</a> 
 
    </li> 
 
    <li><a href="">Portfolio</a> 
 
    </li> 
 
    <li><a href="">About</a> 
 
    </li> 
 
    <li><a href="">Contact</a> 
 
    </li> 
 
</ul>

+0

私はただそれを理解しました。私はそれを唯一のリンク要素に適用していました。私は2008年以来、私はCSSをしてきたので、とても馬鹿だと感じています。 –

+0

心配しないでください。特に、セレクタロジックは構文的には正しいものの、IDEのセマンティックエラーには何のヒントも与えません。投票ボタンの下の小切手で受諾された回答をマークしてください。 – Marvin

関連する問題