2017-04-02 58 views
1

我遇到了一個奇怪的Safari瀏覽器錯誤,它使某些元素在它們懸停之前不可見。Safari不重畫隱藏在剪輯路徑中的元素

這是由於先前被剪輯(剪輯路徑)隱藏的元素引起的。 Safari在懸停效果改變設計後才重新渲染它們,從而迫使Safari瀏覽器重新繪製對象。

.logo-container { 
    position: absolute; 
    top: 0px; 
    clip: rect(0, auto, auto, 0); 
    clip-path: inset(0, auto, auto, 0); 
} 

回答

1

爲了解決這個問題,我使用了一個重複的css動畫來強制safari重繪每秒幾次的元素。

@-webkit-keyframes mymove { 
from {top: 0px;} 
to {top: 0.01px;} 
} 

.logo-container { 
    position: absolute; 
    top: 0px; 
    clip: rect(0, auto, auto, 0); 
    clip-path: inset(0, auto, auto, 0); 
    -webkit-animation: mymove 0.1s infinite; /* Safari 4.0 - 8.0 */ 
} 

現在元素被重新繪製並且可見度按預期工作。

如果對這個問題有更好的解決方案,請回答這個問題:)