eprivalov
@eprivalov
Учусь

Как поменять блоки местами используя только CSS?

Как мне поменять блоки местами используя только CSS? На этой странице, это карточка товара магазина на opencart. Вот как нужно поставить блоки:

777e57d87c4a498dbb016502f0250858.png

Картинка станет справа, под ней будет располагаться информация с ценой и кнопка добавить в корзину. А на одном уровне с картинкой (слева) будет расположено описание. Как так расположить элементы?

UPD: Ставлю классам left и right position:absolute и они вообще исчезают.
  • Вопрос задан
  • 1251 просмотр
Решения вопроса 3
BRoNiksus
@BRoNiksus
Начинающий front-end
Ну если Вы хотите через position: absolute, тогда у родителя (обертки например) должен быть задан position: relative. После этого уже можно будет их как-то координировать через top, left, right, bottom. А вообще одним css тут вряд ли обойдешься.

Или еще вариант :
c1cb913afe17469fb7b7606c01082e4c.jpg

.product-info.split-30-70 .left {
width: 30%;
float: right;
}

.product-info > div {
width: 50%;
float: left;
}

.product-info.split-30-70 .right {
width: 100%;
clear: both;
}

А там уже играйся с блоками
Ответ написан
Комментировать
NN-webmaster
@NN-webmaster
Обожаю веб
.product-info {
  display: flex;
  flex-direction: row-reverse;
}


Таким образом, вы задаёте тип родительского блока как флекс и меняете расположение элементов по главной оси (по умолчанию, это row).
Ответ написан
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Используйте flex и и меняйте свойство order в зависимости от ширины экрана с помощью media
https://html5book.ru/css3-flexbox/#order
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы