CSS Overflow-x: скрыт в анимации, работает на Chrome, но не на Safari - PullRequest
0 голосов
/ 25 октября 2019

У меня есть анимация, которая скользит в баре с несколькими выпадающими меню слева направо, просто увеличив контейнер с 0 до 660 пикселей. Я не сделал это сам, но так я выглядел, когда начал работать над этим:

    @keyframes fadeIn-animation {
        from {overflow-x: hidden; max-width: 0}
        to {overflow-x: hidden; max-width: 660px}
    }
    @-webkit-keyframes fadeIn-animation {
        from {overflow-x: hidden; max-width: 0}
        to {overflow-x: hidden; max-width: 660px}
    }
    .animated-container {
        animation-name: fadeIn-animation;
        animation-duration: 1s;
        -webkit-animation-name: fadeIn-animation;
        -webkit-animation-duration: 1s;

Это отлично работает на Chrome, но не на сафари.

Частьанимация с контейнером, растущим от 0 до 660 пикселей, работает, но все дочерние элементы уже видны во время перехода из-за видимого переполнения. https://jsfiddle.net/6cqapbnu/

Я попытался установить элемент bar на

overflow-x: hidden; 
overflow-y: visible;

вместо того, чтобы использовать его в анимации,
, который заставляет анимацию работать правильно, но теперь выпадающие списки не переполняютсяправильно, они прокручиваются.

Я где-то читал, что это потому, что когда вы устанавливаете overflow-x или overflow-y на visible, а другой на что-то другое чем visiblevisible обрабатывается как auto
Я не знаю, так ли это или все еще имеет место.

Я думаю, что более простым решением было бы просто правильно работать overflow-x: hidden в пределаханимация, как в Chrome.

Как это исправить?

1 Ответ

0 голосов
/ 25 октября 2019

Перед использованием проверьте браузер на наличие атрибутов. Вы можете использовать https://caniuse.com/ для проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...