Mam problem z -webkit-transition
w przeglądarce Safari. Te przejścia działają dobrze w Chrome, FF i IE10 (przy użyciu nieprzepisanej właściwości przejścia).Przekrycie szerokości pliku css Safari nie działa z różnymi jednostkowymi pomiarami
Na mojej stronie znajdują się 3 panele, które można wyświetlić. Główny otwiera się domyślnie, a pozostałe 2 są zwinięte po prawej stronie okna, pokazując kawałek ich zawartości. Po kliknięciu zwiniętego panelu dodatkowa klasa jest dodawana do niego przez JS i przechodzi do szerokości 100%.
CSS:
.panel-1{
width: 100%;
}
.panel-2{
width: 8rem;
position: absolute;
top: 0;
right: 0;
overflow: hidden;
z-index: 500;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.panel-2:hover{
width: 10rem;
}
.panel-2.panel-open{
width: 100%;
}
.panel-3{
width: 4rem;
position: absolute;
top: 0;
right: 0;
overflow: hidden;
z-index: 501;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.panel-3:hover{
width: 6rem;
}
.panel-3.panel-open{
width: 100%;
}
Problem wydaje się być z tą różnicą, jednostek pomiarowych. Przejścia na hover działają zgodnie z zamierzeniami (rem
do rem
), jednak przejście szerokości (rem
do %
) w "otwartym panelu" pomija przejście i po prostu otwiera się. Jeśli zmienię domyślną szerokość na wartość procentową zamiast na rem
, przejście będzie znów działać. Nie mogę tego zrobić, ponieważ jest to płynne miejsce, a zwinięte panele muszą być statyczne, a nie względne.
Podjęto próbę dodania min-width
w %
, ale to nie pomogło. Wszelkie rady na ten temat byłyby bardzo mile widziane.
proszę podać przykład tutaj lub jsfiddle. –
Jaka jest relacja między '.panel-1',' .panel-2' i '.panel-3'? Podaj html lub działający jsFiddle. LE: Właśnie zauważyłem datę tego pytania. Sergey, zastanawiam się, czy warto było go edytować i przywrócić. BigRedEd pewnie zapomniał, że ma już konto SE. –