Как можно переделать простые блоки с тремя элементами, где картинка прижата в угол с помощью float, на использование flex? И как можно решить задачу, чтобы оставшееся пространство поднималось выше нижнего края иконки, если для него есть место? Еще одна сложность - добавить крестик-отмены в правый верхний угол, который также сейчас сделан с помощью float.
Для переключения с использования float на использование flexbox вам потребуется выполнить следующие шаги: 1. Обернуть весь контейнер с блоками в родительский элемент с установленным свойством display: flex. 2. Для каждого блока задать свойство flex: 1, чтобы блоки равномерно распределялись по ширине родительского элемента. 3. Для картинки можно использовать свойство align-self: flex-end, чтобы прижать ее в угол. 4. Для добавления крестика-отмены в правый верхний угол каждого блока можно воспользоваться позиционированием элемента с помощью свойств position: relative и position: absolute. Примерный код для решения этой задачи с использованием flexbox: HTML: ``` <div class="container"> <div class="block"> <img src="image1.jpg" alt="Image 1" class="image"> <div class="cross"></div> </div> <div class="block"> <img src="image2.jpg" alt="Image 2" class="image"> <div class="cross"></div> </div> <div class="block"> <img src="image3.jpg" alt="Image 3" class="image"> <div class="cross"></div> </div> </div> ``` CSS: ``` .container { display: flex; } .block { flex: 1; position: relative; } .image { align-self: flex-end; } .cross { width: 20px; height: 20px; position: absolute; top: 10px; right: 10px; background-image: url(cross.png); } ``` Таким образом, вы сможете заменить использование float на flexbox и расположить блоки, картинки и крестики-отмены с помощью flexbox-свойств.
Делаем макет из двух колонок и двух столбиков. Картинку размещаем в первой колонке на две строки. Стили для выравнивания - по вкусу, сами.
задача со звездочкой *