Как можно переделать простые блоки с тремя элементами, где картинка прижата в угол с помощью 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-свойств.
Делаем макет из двух колонок и двух столбиков. Картинку размещаем в первой колонке на две строки. Стили для выравнивания - по вкусу, сами.
задача со звездочкой *