2015-04-05 44 views
0

我有一個單詞標題被分成兩部分,用@keyframe動畫並在頁面中間相遇。 問題:在頁面中間到達正確位置後,我需要將其中一半從常規轉換爲斜體。 因爲我不打算讓標題可點擊,所以使用懸停沒有意義。 有沒有辦法做到這一點,而不訴諸於JavaScript ...?如何使用CSS3轉換字體樣式?

回答

4

由於字體樣式是not an animatable property,您可以使用偏斜變形。

h1 span { 
 
    position: relative; 
 
} 
 
#title_part1 { 
 
    animation: part1_move 2s; 
 
} 
 
#title_part2 { 
 
    
 
    animation: part2_move 2s,part2_skew 4s; 
 
    
 
    display: inline-block; 
 
    -ms-transform: skewX(-20deg); 
 
    transform: skewX(-20deg); 
 
} 
 

 
@keyframes part1_move { 
 
    from { 
 
    left: -100px; 
 
    } 
 
    to { 
 
    left: 0; 
 
    } 
 
} 
 

 

 
@keyframes part2_move { 
 
    from { 
 
    left: 100px; 
 
    } 
 
    to{ 
 
    left:0 
 
    } 
 
} 
 

 
@keyframes part2_skew{ 
 
    from { 
 
    transform:skewX(0); 
 
    -ms-transform:skewX(0) 
 
    } 
 
    50%{ 
 
    transform:skewX(0); 
 
    -ms-transform:skewX(0) 
 
    } 
 
    to{ 
 
    transform:skewX(-20deg); 
 
    -ms-transform:skewX(-20deg) 
 
    } 
 
}
<h1> 
 
    <span id="title_part1">The start and </span> 
 
    <span id="title_part2">the end of my title </span> 
 
</h1>

相關的問題:

Fade from normal text to italics text smoothly?

Gradual italics?

+0

我想你錯過了'已達到其應有的位置在page'中旬以後,但這不應該很難,只是讓它成爲兩個不同的動畫,其中的歪斜動畫運行延遲等於移動動畫的持續時間。很好的答案。 – Pevara 2015-04-05 17:49:34

+0

這是糾正,謝謝。製作兩個動畫和第二個動畫可能會更好。 – Gael 2015-04-05 18:02:36

+0

@gael - 感謝您的幫助。出於某種原因,我認爲「歪斜」與多邊形或形狀有關。 – user3003895 2015-04-05 20:09:27