С той же разметкой вы можете добавить margin-left: auto
к третьему inner
и перевести к вершине, используя transform: translate(-100%)
- см. Демонстрацию ниже:
.outer {
width: 100%;
border: 2px solid black;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
height: 500px;
}
.inner {
width: 50%;
border: 2px solid red;
box-sizing: border-box;
}
.inner:first-child {
height: 100%;
}
.inner:nth-child(n+2) {
height: 50%;
}
.inner:last-child { /* ADDED */
margin-left: auto;
transform: translateY(-100%);
}
<div class="outer">
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
</div>