.bottom-menu {
position: fixed;
bottom: 0;
z-index: 100;
overflow-x: hidden;
height: 82px;
width: 1000px;
left: 50%;
transform: translateX(-50%);
}
Тут вставлено выравнивание по середине фиксированного блока и проставлена абсолютная ширина. Для разных разрешений можно добавить разные svg для для резки..bottom-menu {
clip-path: path("M0 81.99l0 -54.18 457.77 0c6.94,-0.23 11.28,-1.66 13.74,-8.95 8.53,-25.15 48.45,-25.15 56.98,0 2.46,7.29 6.8,8.72 13.74,8.95l457.77 0 0 54.18 -1000 0z");
}
позволяет сделать примерно то же самое. Да и менять контуры для резки меню в медиа-секции станет удобнее.var h=function(){
this.setCustomValidity('');
}
// убираем сообщение об ошибке при начале изменения в поле. Неплохо бы добавить обработку 'paste'
$('input, textarea', form_selector).change(h).on('keydown',h);
function setInvalid(invalid, form) {
// неплохо бы убрать сообщение об ошибке из предыдущей проверки
$('input, textarea', form).trigger(h);
// ставим первое сообщение в списке ошибок
for(var a in invalid){
var i=$('[name="'+a+'"]', form);
if(i.length>0) {
i[0].setCustomValidity(invalid[a]);
i[0].reportValidity();
return;
}
}
// не найдено поля с таким именем - выводим ошибку в специально обученное место
console.log('opps!', invalid);
}
...
success: function(data){
if(data.error){
setInvalid(data.error,form);
return ;
}
}
В принципе - этого может хватить.
Если это одностраничник с известно где расположенными стилями и скриптами, то можно так генерировать ссылки на них
Так появится возможность все таки кэшировать на клиенте неизмененные файлы. По внешнему виду ссылок (количество цифр после имени файла) можно понять, находит php файл исходник или нет.