В конечном счете, кажется, что ответ «нет, компоновка на основе flexbox Bootstrap не может этого сделать».
Как показывает JoostS , макет можно сделать с помощью position
'ing и !important
, но это не совсем bootstrap .Это больше похоже на то, как бутстрап был побежден в подчинении, сражаясь со мной все время.
Итак, я думаю, что я собираюсь полностью отбросить сетку бутстрапа и переключиться на что-то, используя display: grid
:
.a { background-color: red; }
.b { background-color: blue; }
.c { background-color: green; }
img {max-width: 100%; }
@media (min-width: 768px) {
.grid-container {
border: 1px solid black;
display: grid;
}
.b {
grid-column: 2;
grid-row: 1 / span 2;
}
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="grid-container">
<div class="a">
A
</div>
<div class="b">
<img src="https://upload.wikimedia.org/wikipedia/commons/8/8f/Example_image.svg" alt="B (should be right of A and C on desktop)" />
</div>
<div class="c">
<p>C (should be below A and left of B on desktop)</p>
</div>
</div>
</div>
https://codepen.io/nfriedly/pen/bmweKB?editors=1100
Это дает мне поведение, которое я хочу, не чувствуя, что я прибегаю к взломам и сражаюсь со своими инструментами. может не работать в устаревших браузерах , но это приемлемо для моего варианта использования.