Короче, может есть еще шизики кроме меня, но я нашел в чем проблема. Что в Гугл Хром, что в Файрфокс наблюдается баг, при котором если задать элементу transform через css, то будут проблемы с позиционированием его на странице. В огнелисе элемент растянется, но пропадет параллакс эффект (заданный свойством background-attachment: fixed; ), а в хроме картинка сместится в сторону на половину страницы. Победить эту ситуацию можно если обернуть растянутый блок в див. Чтобы этого в ручную не делать, можно вставить вот такую конструкцию в functions.php
function zm_wrap_alignment( $block_content, $block ) {
if ( isset( $block['attrs']['align'] ) && in_array( $block['attrs']['align'], array( 'wide', 'full' ) ) ) {
$block_content = sprintf(
'<div class="%1$s">%2$s</div>',
'align-wrap align-wrap-' . esc_attr( $block['attrs']['align'] ),
$block_content
);
}
return $block_content;
}
add_filter( 'render_block', 'zm_wrap_alignment', 10, 2 );
Тогда все блоки в Гутенберге, которые поддерживают свойства alignwide и alignfull встанут внутри дива align-wrap. Дальше мы задаем css свойства
.align-wrap {
width: 100vw;
margin-left: calc(50% - 50vw);
}
.align-wrap .alignfull {
width: 1280px;
max-width: 100%;
margin: 0 auto;
}
При этом, если ширина блока
.align-wrap .alignfull
неизвестна, то можно также как я использовать скрипт подгона ширины одного элемента под другой (в моем вопросе выше это есть)
function resize() {
$('.alignfull').width($('.overlay').width() - 1)
}
resize();
$( window ).resize(function() {
resize()
});
Теперь и параллакс и нормальное выравнивание будет работать и в Гугле и в Мозилле. Такая штука подойдет тем, у кого контент сайта находится внутри бокса, то есть ограничен рамками, которые отступают от границ viewbox.