javascript - 为什么视频网格在 html 中移动聊天网格
问题描述
嘿,伙计们,我正在用 html 实现一个基于视频通话的应用程序。到目前为止,我已经完成了所有情况,但主要问题是当新成员加入通话时,窗口会随着聊天一起移动,我需要的是聊天应该是僵硬的不应移动视频窗口应向左滚动。
此外,如何在此处将视频设置为 3 3 或 4 4 或 8*8 类型的网格。
#video-grid {
display: flex;
justify-content: center;
padding: 5 px;
}
video {
height: 300 px;
width: 400 px;
object-fit: cover;
}
.main__chat_window {
flex-grow: 1;
overflow-y: scroll;
}
.main__videos {
flex-grow: 1;
background-color: black;
display: flex;
justify-content: center;
align-items: center;
padding: 10 px;
}
.main__left {
flex: 0.8;
display: flex;
flex-direction: column;
}
.main__right {
flex: 0.2
}
<div class="main">
<div class="main__left">
<div class="main__videos">
<div id="video-grid">
</div>
</div>
<div class="main__controls">
<div class="main__controls__block">
<div onclick="muteUnmute()" class="main__controls__button main__mute_button">
<i class="fas fa-microphone"></i>
<span>Mute</span>
</div>
<div onclick="playStop()" class="main__controls__button main__video_button">
<i class="fas fa-video"></i>
<span>Stop Video</span>
</div>
</div>
<div class="main__controls__block">
<div onclick="security()" class="main__controls__button main__security">
<i class="fas fa-shield-alt"></i>
<span>Security</span>
</div>
<div onclick="share()" class="main__controls__button main__share">
<i class="fas fa-share"></i>
<span>Share</span>
</div>
<div class="main__controls__button">
<i class="fas fa-comment-alt"></i>
<span>Chat</span>
</div>
</div>
<div onclick="leaveMeeting()" class="main__controls__block main__leave_meeting">
<div class="main__controls__button">
<span class="leave_meeting">Leave Meeting</span>
</div>
</div>
</div>
</div>
<div class="main__right">
<div class="main__header">
<h6>Chat</h6>
</div>
<div class="main__chat_window">
<ul class="messages">
</ul>
</div>
<div class="main__message_container">
<input id="chat_message" type="text" placeholder="Type message here...">
</div>
</div>
</div>
解决方案
如果您需要,解决方案就在这里:
*{
margin: 0;
}
html, body{
height: 100%;
width: 100%;
}
.main{
display: flex;
flex-direction: row;
height: 100%;
}
#video-grid {
display: flex;
justify-content: center;
padding: 5 px;
}
video {
height: 300 px;
width: 400 px;
object-fit: cover;
}
.main__chat_window {
flex-grow: 1;
overflow-y: auto;
}
.main__videos {
flex-grow: 1;
background-color: black;
display: flex;
justify-content: center;
align-items: center;
padding: 10 px;
}
.main__left {
flex: 0.8;
display: flex;
flex-direction: column;
max-height: 100vh;
overflow: auto;
}
.main__chat_window{
flex-grow: 1;
}
.main__right {
flex: 0.2;
display: flex;
flex-direction: column;
max-height: 100vh;
}
<div class="main">
<div class="main__left">
<div class="main__videos">
<div id="video-grid">
</div>
</div>
<div class="main__controls">
<div class="main__controls__block">
<div onclick="muteUnmute()" class="main__controls__button main__mute_button">
<i class="fas fa-microphone"></i>
<span>Mute</span>
</div>
<div onclick="playStop()" class="main__controls__button main__video_button">
<i class="fas fa-video"></i>
<span>Stop Video</span>
</div>
</div>
<div class="main__controls__block">
<div onclick="security()" class="main__controls__button main__security">
<i class="fas fa-shield-alt"></i>
<span>Security</span>
</div>
<div onclick="share()" class="main__controls__button main__share">
<i class="fas fa-share"></i>
<span>Share</span>
</div>
<div class="main__controls__button">
<i class="fas fa-comment-alt"></i>
<span>Chat</span>
</div>
</div>
<div onclick="leaveMeeting()" class="main__controls__block main__leave_meeting">
<div class="main__controls__button">
<span class="leave_meeting">Leave Meeting</span>
</div>
</div>
</div>
</div>
<div class="main__right">
<div class="main__header">
<h6>Chat</h6>
</div>
<div class="main__chat_window">
<ul class="messages">
</ul>
</div>
<div class="main__message_container">
<input id="chat_message" type="text" placeholder="Type message here...">
</div>
</div>
</div>
推荐阅读
- c# - C# System.Transactions 与 TransactionScope
- angular - Angular 8 - 应用多租户
- excel - 如何在vba中将字符串拆分为二维数组?
- vue.js - laradock ECONNREFUSED 127.0.0.1:80 上的 laravel-echo-server 与私人频道
- html - Microsoft Edge x-ms-format-detection="none"
- node.js - 无法使用我的 gmail 帐户使用 nodemailer 发送邮件 - NodeJS
- highcharts - Highstock如何在数据中隐藏零
- git - Git 分支未更新
- csv - 有没有办法以机器可读的方式指定 csv 文件具有标题行?
- javascript - TypeError: url 不是函数