Próbuję zbudować następujący układ karty za pomocą Bootstrap 4 z włączoną funkcją Flexbox. Zdjęcie zostało zaczerpnięte z mojej obecnej implementacji i działa zgodnie z oczekiwaniami.Karta Bootstrap/Flexbox: przenieś obraz na lewą/prawą stronę na pulpicie
struktura HTML jest następujący:
<section>
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-block">
<h4 class="card-title">Curabitur gravida vestibulum imperdiet.</h4>
<p class="card-text">Cras convallis ut turpis vitae facilisis. Morbi eu augue vel quam efficitur rhoncus vitae eget lectus. Cras augue ligula, aliquam ut enim ut, feugiat imperdiet sem. Integer sed mi quis nisl eleifend interdum.</p>
<p class="card-text">Cras convallis ut turpis vitae facilisis. Morbi eu augue vel quam efficitur rhoncus vitae eget lectus. Cras augue ligula, aliquam ut enim ut, feugiat imperdiet sem.</p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
</div>
<div class="col-md-6">
<img class="card-img-bottom" src="img1.jpg" alt="" title="">
</div>
</div>
</div>
</section>
Teraz, kiedy skala na większym ekranie, mam następujący wynik (który jest oczekiwany z Bootstrap ale nie chciał jeden):
To, co chciałbym zobaczyć, to:
Moje pytanie brzmi, w jaki sposób mogę właściwie wdrożyć ten rodzaj układu? Używam flex-box, więc kolumny Bootstrap (col- *) są zawsze tej samej wysokości, co jest dokładnie tym, czego chcę. Ale powinienem usunąć podkładki między dwiema kolumnami, a następnie ustawić zawartość kolumn tak, aby pokrywały 100% wysokości nadrzędnej, a na końcu upewnij się, że obraz zachowuje proporcje, więc powinien być przycięty ze środka, tak jak w przykładzie.
Mam Googled i próbowałem wielu różnych rozwiązań, ale wszystkie z nich wydają się zbyt skomplikowane lub "hacky" rozwiązania. Zastanawiam się, czy to prawda, że nie ma łatwego sposobu na wdrożenie tego rodzaju układu ...?
Uwaga: rozwiązanie nie musi być związane z Bootstrap, ogólne rozwiązanie tego problemu jest jeszcze lepsze.
background-size lub object-fit są „Easy” rozwiązania CSS. – CBroe
Tak, prawda, ale z wielkością tła, nie mogę użyć tego tagu img, ale zamiast tego muszę użyć div? I myślę, że dopasowanie obiektów nie jest obsługiwane przez IE i Edge, więc nie jest to wtedy dopuszczalne. – m5seppal
To są dwa "łatwe" sposoby. Oczywiście rzeczy stają się bardziej skomplikowane, jeśli musisz wdrożyć awarie dla starszych/niezdolnych przeglądarek. Do dopasowania obiektów do obrazów w IE/Edge dostępne są rozwiązania/polyfills. – CBroe