Адаптивное изображение с текстом на любой ширине экрана

У меня есть изображение с текстом, и мне нужно убедиться, что текст на изображении отображается на любой ширине экрана как для небольших портативных мобильных телефонов, так и для больших настольных компьютеров.

У меня проблема в том, что изображение обрезается на экранах меньшего размера, а зазор вокруг изображения меняется при разной ширине экрана.

Можно ли обеспечить изменение размера изображения при любой ширине экрана и всегда отображать все изображение, а также сохранять одинаковые отступы/пространства до и после изображения?

Он всегда должен отображать всю ширину экрана.

Вот мой HTML и CSS. Я готов использовать jQuery, если это необходимо.

.nav-primary {
    background-color: #222;
    color: #fff;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
    height: 32px;
}

.custom-header {
      background-image: url('https://i.ibb.co/SwSktxv/desktop.png');
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      height: 250px;
}
<nav class = "nav-primary"></nav>

<header class = "custom-header"></header>

Мне неясно требование: как может изображение, которое должно быть на всю ширину любого окна просмотра, всегда иметь место по вертикали, чтобы поместиться в это окно просмотра? Помните, что соотношение сторон области просмотра может быть любым, как и соотношение сторон изображения.

A Haworth 15.04.2024 13:02

Я не понимаю, как его можно «отрезать», когда вы используете background-size: contain. "и зазор вокруг изображения меняется при разной ширине экрана" - конечно, из-за background-size: contain - изображение пропорционально масштабируется, чтобы его можно было полностью показать во всех ситуациях; и это, конечно, оставляет различные «пробелы» внутри самого элемента div с фиксированной высотой.

CBroe 15.04.2024 13:36

Почему вы изначально используете это в качестве фонового изображения? Особенно, когда он явно содержит релевантный (?) текст, его лучше встроить с помощью элемента img (чтобы вы могли поместить текстовое содержимое в атрибут alt в качестве подходящей альтернативы для пользователей, которые не смогут прочитать его с изображения). сам.)

CBroe 15.04.2024 13:38

@CBroe Спасибо. Я распечатал выходные данные, используя PHP с тегом изображения, который теперь работает намного лучше, за исключением того, что фиксированная панель навигации закрывает верхнюю часть изображения на настольных компьютерах из-за позиции: исправлено;. Любая помощь CSS в этом вопросе будет оценена по достоинству.

Sam 16.04.2024 11:07

Если ваша панель навигации закрывает изображение еще до того, как произойдет какая-либо прокрутка, поскольку изображение находится прямо вверху, вам нужно переместить его дальше вниз, например, присвоив телу соответствующий отступ-верх или что-то в этом роде.

CBroe 16.04.2024 11:24
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
5
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете обеспечить полное и единообразное отображение вашего изображения на экранах разных размеров, используя background-size: Cover; и процентное заполнение для обеспечения одинакового расстояния вокруг изображения.

.custom-header {
    background-image: url('https://i.ibb.co/SwSktxv/desktop.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 250px; /* Adjust this value as needed */
    padding: 10% 0; /* Adjust the percentage values for top and bottom padding */
}

Это позволит изображению покрывать всю область заголовка, сохраняя при этом соотношение сторон, а процентное заполнение обеспечивает постоянное пространство вокруг изображения независимо от ширины экрана.

Я не знаю, решит ли это вашу проблему или нет, но я надеюсь, что это будет вам полезно. 🙂

Требование состоит в том, чтобы все изображение было видимым. крышка этого не делает.

A Haworth 15.04.2024 19:09

положение: фиксированное; проблема только на настольных компьютерах, на мобильных устройствах она удалена

Sam 16.04.2024 11:11

Другие вопросы по теме

Похожие вопросы

CSS 3: наложение изображения при наведении
Используя только CSS, есть ли способ ограничить текст внутри div ровно X количеством символов без использования многоточия?
Форма HTML/PHP внезапно перестала работать без изменения кода
Использование `text-overflow: ellipsis` в адаптивной таблице с динамической шириной?
Как добавить iframe со встроенным скриптом в мой проект Next.js?
Динамическая настройка tabindex в навигационном ящике
Попытка связать мой файл Javascript с моим HTML-файлом
Почему содержимое выходит за пределы тела, даже если высота установлена ​​на 100%?
Как я могу использовать ванильный JavaScript для настройки мобильной навигации, при которой щелчок по родительскому элементу навигации будет выполнять поиск дочернего элемента ul и добавлять класс?
Как добавить элемент к другому повернутому и позиционированному элементу, сохраняя его положение на экране?