У меня проблема CSS, которую я не могу исправить.
У меня есть раздел полной ширины на моей странице WordPress. Он использует отрицательные поля для создания полной ширины (которая отлично работает в chrome, safari, edge и firefox).
margin-left: calc(-100vw/2 + 100%/2);
margin-right: calc(-100vw/2 + 100%/2);
max-width: 100vw;
width: auto;
Я добавил фоновое изображение с помощью: before и: after, чтобы создать некоторые волны:
.waves:before {
content: '';
background-image: url(//lettering.tools/wp-content/themes/ostrichtheme/img/waves.svg);
background-position: center top;
background-size: 100% 70px;
background-repeat: no-repeat;
height: 70px;
position: absolute;
top: -1px;
left: 0;
right: 0;
z-index: -1;
}
Отлично работает в firefox, chrome и на краю. Но Safari не хочет просматривать фоновое изображение во всю ширину, и на больших экранах оно выглядит ужасно. Я пробовал разные настройки, но не могу заставить его работать. У вас есть еще идеи? Я не хочу удалять этот эффект. : (
Вы можете просмотреть пример в реальном времени здесь: https://lettering.tools/ Раздел полной ширины находится сразу после первого текстового блока.
Спасибо!
РЕДАКТИРОВАТЬ: Я использовал комбинацию ответов для решения проблемы. Но что, если я не хочу отзывчивый рост SVG?
Также возникла другая проблема: нежелательная линия 1px в Edge. Я пытался отрицательные нижние значения и transform: translate. Но это не сработало. Наконец я понял, что переполнение: скрытый в контейнере вызывает эту строку в 1px - но почему?!