1. Для первого случая можно использовать следующий CSS:
```css
.flex-container {
display: flex;
flex-wrap: wrap;
}
.child {
flex: 1;
}
.child:nth-child(3) {
flex: 2;
}
```
Этот код обеспечит равномерное распределение пространства между двумя первыми дочерними элементами, которые будут занимать всю доступную ширину, а третий дочерний элемент будет занимать в два раза больше пространства.
2. Для второго случая можно использовать следующий CSS:
```css
.parent-container {
display: flex;
}
.child {
flex: 1;
}
.child:nth-of-type(3) {
flex: 2;
}
```
Этот код создаст родительский контейнер с тремя дочерними элементами, причем первые два элемента будут равномерно заполнять промежуток между собой, а третий элемент будет растягиваться по ширине.