2017-04-10 102 views
3

當您將鼠標懸停在圓上時,文本顏色應該與旋轉和背景顏色同時更改。Google Chrome中的CSS轉換延遲

火狐瀏覽器,IE瀏覽器,Edge都如預期的那樣動畫,但Chrome延遲了文本顏色的轉換,就好像它正在等待旋轉在動畫之前完成,甚至在旋轉和文本顏色變化之間留下間隙。

http://codepen.io/rachelreveley/pen/YNZawG

body { 
 
    text-align: center; 
 
    background-color: #122d40; 
 
} 
 
a { 
 
    display: inline-block; 
 
    width: 20rem; 
 
    height: 20rem; 
 
    margin: 1rem; 
 
    transition: all 1s ease; 
 
    position: relative; 
 
    border-radius: 100%; 
 
    text-decoration: none; 
 
    color: #fff; 
 
    overflow: hidden; 
 
    background-color: #7fb400; 
 
    transform: rotate(0deg); 
 
} 
 
a > span, 
 
a span span { 
 
    display: block; 
 
    transition: inherit; 
 
} 
 
a span span:first-child { 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
    top: 40%; 
 
    text-transform: uppercase; 
 
    font-size: 40px; 
 
} 
 
a span span:last-child { 
 
    opacity: 0; 
 
    padding: 2rem 3rem; 
 
} 
 
a:hover { 
 
    background-color: #fff; 
 
    color: #122d40; 
 
    transform: rotate(360deg); 
 
} 
 
a:hover span span:first-child { 
 
    opacity: 0; 
 
} 
 
a:hover span span:last-child { 
 
    opacity: 1; 
 
}

 
<a href=""><span><span>Space</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span> </span></a> 
 
<a href=""><span><span>Speed</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span></span></a> 
 
<a href=""><span><span>Support</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span></span></a>

回答

1

問題就出在這裏:

a > span, 
a span span { 
    transition: inherit; 
} 

該轉移actully需要的? 嘗試刪除該屬性。

body { 
 
    text-align: center; 
 
    background-color: #122d40; 
 
} 
 
a { 
 
    display: inline-block; 
 
    width: 20rem; 
 
    height: 20rem; 
 
    margin: 1rem; 
 
    transition: all 1s ease; 
 
    position: relative; 
 
    border-radius: 100%; 
 
    text-decoration: none; 
 
    color: #fff; 
 
    overflow: hidden; 
 
    background-color: #7fb400; 
 
    transform: rotate(0deg); 
 
} 
 
a > span, 
 
a span span { 
 
    display: block; 
 
} 
 
a span span:first-child { 
 
    position: absolute; 
 
    width: 100%; 
 
    height: 100%; 
 
    top: 40%; 
 
    text-transform: uppercase; 
 
    font-size: 40px; 
 
} 
 
a span span:last-child { 
 
    opacity: 0; 
 
    padding: 2rem 3rem; 
 
} 
 
a:hover { 
 
    background-color: #fff; 
 
    color: #122d40; 
 
    transform: rotate(360deg); 
 
} 
 
a:hover span span:first-child { 
 
    opacity: 0; 
 
} 
 
a:hover span span:last-child { 
 
    opacity: 1; 
 
}
<a href=""><span><span>Space</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span> </span></a> 
 
<a href=""><span><span>Speed</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span></span></a> 
 
<a href=""><span><span>Support</span><span><h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Ita nemo beato beatior. Si longus, levis; Utinam quidem dicerent alium alio beatiorem! Iam alium alio ruinas videres. Tamen a proposito, inquam, aberramus. </span></span></a>