Я борюсь с Gatsby-image, чтобы обеспечить правильный размер изображения для разного разрешения. У меня есть изображение размером 1920x367 (ширина x высота), и проблема видна, когда размер окна небольшой (например, мобильный), потому что gatsy-image использует изображение 490x92 для покрытия контейнера 437x354.
Здесь вы можете увидеть изображение при большом размере окна. Здесь, когда размер окна мал.
Запрос GraphQL:
configHowWeWork: file(relativePath: { eq: "howwework/howwework-header.jpg" }) {
childImageSharp {
fluid(maxWidth: 1920, maxHeight: 367) {
...GatsbyImageSharpFluid_withWebp
}
}
}
Изображение Гэтсби:
<div className="intro intro-page intro-container">
{configHowWeWork.childImageSharp.fluid && (
<Img
className="intro-background"
fluid={configHowWeWork.childImageSharp.fluid}
alt="alt"
/>
)}
</div>
Соответствующий CSS:
.intro-container {
position: relative;
}
.intro-background {
position: absolute!important;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
left: 0;
top: 0;
z-index: 0;
overflow: hidden;
}
Вопрос: как мне избежать запроса изображения размером 490x92 (такое же исходное соотношение сторон) и вместо этого предоставить изображение, которое может заполнить 437x354 (я хочу обрезать или обрезать, но без увеличения) без высота растяжки.
Что я уже пробовал:
- Я попытался использовать FILL в соответствии с запросом Гэтсби, чтобы преодолеть ограничение соотношения сторон, но это не помогло.
- Использование presentationSize.
Спасибо за ответ.
ИЗМЕНИТЬ: найдено только одно решение - создать квадратное изображение с размером max(width, height)
, но в моем случае это всегда ширина. Таким образом я добиваюсь хорошего качества с низким и высоким разрешением (например, для мобильных устройств и компьютеров), но трачу слишком много ресурсов:
- При разрешении рабочего стола создается изображение 1920x1920, а размер контейнера - 1920x367.
- С мобильным разрешением не так разбалансировано, но с высотой все же больше необходимого.
Я уверен, что мне чего-то не хватает, потому что просто создать адаптивное широкое изображение героя не так уж сложно.
РЕДАКТИРОВАТЬ 2: я не могу понять, почему качество изображения хорошее, если я переключаюсь на мобильное разрешение в режиме адаптивного дизайна в Firefox, но качество не очень хорошее, если я использую разрешение, сравнимое с предыдущим мобильным устройством, но без адаптивного дизайна. Режим.