首页 > 解决方案 > 视频会议,如使用 css 网格的视频网格

问题描述

我正在尝试创建一个像网格一样的视频会议。我正在尝试使用 css-grid 但不知何故我无法完成我正在寻找的东西。这个想法很简单,在屏幕上有一个视频网格,并将视频分页到下一页,这不适合第一页。

我尝试使用以下内容:

<div className="videoContainer">
    <div className="videoWrapper">Cam 1</div>
    <div className="videoWrapper">Cam 2</div>
    <div className="videoWrapper">Cam 3</div>  
</div>

CSS

.videoContainer {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    border: 2px solid blue;
}
.videoWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    border: 1px solid green;
}

我正在寻找的是一些指向我想要去的方向的指针/提示/任何文章(没有找到任何有用的东西)。

我有一个简单的布局如下来解释(左栏为大屏幕设备,右栏为移动设备):

在此处输入图像描述

标签: htmlcssreactjscss-grid

解决方案


我不建议使用百分比的宽度和高度。这里重要的是尊重纵横比。

在此处输入图像描述

例子:

https://alicunde.github.io/Videoconference-Dish-CSS-JS/

代码:

https://github.com/Alicunde/Videoconference-Dish-CSS-JS

我今天已经解决了这个问题。首先我开始使用 CSS3 Grid,但结果没有考虑相机的纵横比。

然后我尝试了 Flex,但无法覆盖已定义的表面。所以我创建了这个非常基本的脚本。

您需要的其余屏幕很容易开发。

手机版:

在此处输入图像描述

它很快(调整大小事件,加载事件):

在此处输入图像描述

原谅我的英语。


推荐阅读