Мне нужна строка, которая содержит изображение, встроенное видео и текст. Сайт использует Bootstrap для адаптивного поведения, однако объекты в этой строке не должны складываться при уменьшении ширины страницы.
С изображением в первом столбце встроенное видео во втором столбце имеет проблемы с изменением размера при уменьшении ширины страницы. Похоже, что когда ширина страницы уменьшается, а высота строки становится меньше высоты изображения в первом столбце, встроенное видео во втором столбце начинает отображать черные полосы сверху и снизу и теряет соотношение сторон. Это происходит, даже если само изображение, кажется, меняет высоту (таким образом, будучи «отзывчивым»). Но настоящая проблема, которую я пытаюсь решить, - это проблема с внедренным видео во втором столбце, которое портится при уменьшении ширины страницы (с изображением в первом столбце).
Мой код выглядит следующим образом:
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-3 border">
<a href="https://placeholder.com"><img class="img-fluid" src="https://via.placeholder.com/30x225" alt="image"></a>
</div>
<div class="col-6 border embed-responsive embed-responsive-16by9" id="vid">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/kyJUQuaECrg" allowfullscreen></iframe>
</div>
<div class="col-3 border d-flex">
<span class="mt-auto">Some Text</span>
</div>
</div>
</div>
</body>
</html>
Похоже, проблема в центре изображения в первом столбце. Если я удаляю изображение и помещаю текст в столбец, то размер встроенного видео во втором столбце изменяется должным образом при любой ширине окна.
Хотя класс img-Fluid, добавленный к изображению в первом столбце, выглядит следующим образом: заставьте изображение иметь отзывчивую высоту, видео во втором столбце испортится, когда ширина страницы уменьшится. Я перепробовал все виды манипуляций с высотой, используя проценты к изображению и к div / col, содержащему изображение, но до сих пор не могу найти комбинацию, которая решает эту проблему.
В конечном счете, я бы хотел быть в состоянии указать высоту для изображения в первом столбце, который определяется в процентах от его контейнера. Мне нужно, чтобы изображение имело отзывчивую высоту, а встроенное видео - масштабировалось, но при этом поддерживало его внешний вид (без черных полос и правильного соотношения сторон) при любой ширине страницы.
Кстати, изображение в первом столбце можно заменить на текст, повернутый на 90 градусов влево. Однако любая попытка повернуть текст в столбце Bootstrap вызвала ряд других проблем с выравниванием.