Как выровнять кнопку справа от изображения на компьютере, а под изображением на мобильном устройстве

Вопрос или проблема

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

Вот пример: https://www.verywellfit.com/best-ankle-weights-4158657

Пожалуйста, посмотрите на кнопки Amazon на этой странице.

На рабочем столе эти кнопки выровнены вправо, как здесь:
enter image description here

а на мобильных устройствах кнопки находятся ниже изображения:
enter image description here

Спасибо!

CSS проверит ширину экрана и (если она достаточно мала), изменит отображение изображения на блочное. Как учит W3Schools

<style>
.the-image,
.the-price {
    display: inline-block;
}
@media only screen and (max-width:600px) {
    .the-image {
        display: block;
    }
}
</style>
<img class="the-image" src="https://wordpress.stackexchange.com/questions/367889/...">
<div class="the-price">...</div>

Ответ или решение

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

Теория

Для выполнения этой задачи мы можем использовать CSS, в частности, медиазапросы (media queries), чтобы изменять расположение элементов в зависимости от ширины экрана. Медиазапросы позволяют применять разные стили CSS на основе характеристик устройства, таких как ширина или разрешение экрана. В данном контексте можем воспользоваться свойствами display, flex, и block для динамической регулировки положения элементов.

Пример

Рассмотрим пример реализации с использованием нескольких CSS технологий:

  1. Инициализация базовых стилей:

    <style>
     .container {
       display: flex;
       align-items: center;
     }
     .the-image {
       width: 50%;
     }
     .the-button {
       display: inline-block;
     }
     @media only screen and (max-width: 600px) {
       .container {
         display: block;
         text-align: center;
       }
       .the-image,
       .the-button {
         width: 100%;
         display: block;
       }
       .the-button {
         margin-top: 10px;
       }
     }
    </style>

    В этом примере .container используется для распределения элементов в одном ряду на больших экранах с помощью flex и размещения их друг под другом на маленьких экранах благодаря изменению display на block.

  2. HTML-содержимое:

    <div class="container">
     <img class="the-image" src="your-image-source.jpg" alt="Image Description">
     <div class="the-button">
       <button>Кнопка</button>
     </div>
    </div>

    Эти элементы обернуты в контейнер, который будет использовать flexbox для управления их расположением.

Применение

Этот подход позволяет вам создать адаптивную страницу, которая отображает контент оптимально на любом устройстве. При загрузке страницы на больших экранах мы видим элементы, расположенные в одну строку, что достигается за счет display: flex. Когда разрешение уменьшается, CSS медиазапрос меняет display контейнера на block, что выстраивает элементы в одну колонку.

Дальнейшие шаги:

  • Тестирование на различных устройствах: Важно протестировать вашу страницу на реальных устройствах, чтобы убедиться, что все элементы отображаются корректно на различных разрешениях экрана.
  • Оптимизация для производительности: Убедитесь, что изображения оптимизированы для веб-дисплея, чтобы уменьшить время загрузки страницы. Это особенно важно для мобильных пользователей с ограниченной скоростью соединения.
  • Адаптивность и кроссбраузерная совместимость: Проверьте работу вашей страницы в разных браузерах, чтобы убедиться в отсутствии несовместимостей.

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

Этот пример демонстрирует, как простые изменения в CSS могут значительно улучшить адаптивность интерфейса без необходимости изменять HTML-структуру или обращаться к сложным JavaScript-решениям.

Оцените материал
Добавить комментарий

Капча загружается...