Перевод wordpress из LTR в RTL бывает баки. у меня был баг некоторые блоки были сьехвавшими. Появляется между ними пустое пространстрво.
Скрин.
Такое нужно фиксить.
Фиксим сьехавший блок из ltr в rtl
Исследовав css там видно что это происходит из за свойства left в моем случае. Возможно у кого то будет другая причина. У меня генерируется свойство left с минусовым значением. Если мы меняем left на right с этим же минусовым значением то все нормально или если мы делаем left с плюсом тоже нормлаьно. Для этого мы используем jQuery . Просто прописать свойства не катит, потому что это генерируется автоматом. Мы например размер экрана меняем и меняется эти свойства.
Код который фиксит баг ltr to rtl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
setTimeout(function(){ $('.vc_row[data-vc-full-width]').each(function(index, el) { $(this).css('right', $(this).css('left') ); }); console.log('here'); },0); $( window ).resize(function() { setTimeout(function(){ $('.vc_row[data-vc-full-width]').each(function(index, el) { $(this).css('right', $(this).css('left') ); }); },0); }); |
Описание кода который фиксит переход wordpress из LTR в RTL баг
Просто берем значение left и заменяем добавляем значение к блоку right с тем минусовым значением.
Тут мы используем setTimeOut потому что если без него у нас получается наша функция сразабывает раньше чем функция которая негерирует эти размеры. То есть наша функция сработала первой и потом следом функция которая в коде темы создает эти реальные минусовые размеры и у нас получается наша функция добавляет right с некоректным значением. Поэтому setTimeOut 0 даже при такой задержке наша функция работает последней.
Вывод
Ну короче просто нужно исследовать код и смотреть что в вашем варианте не так. Я читал что то баг визуал компоусера да и вообще в интернете такого не очень много описано на эту тему.
Короче используем javascritp для фикса таких багов