element-call/src/video-grid/VideoTile.module.css

118 lines
2.1 KiB
CSS
Raw Normal View History

2022-04-07 14:22:36 -07:00
.videoTile {
position: absolute;
will-change: transform, width, height, opacity, box-shadow;
border-radius: 20px;
overflow: hidden;
cursor: pointer;
touch-action: none;
2022-05-31 10:43:05 -04:00
/* HACK: This has no visual effect due to the short duration, but allows the
JS to detect movement via the transform property for audio spatialization */
transition: transform 0.000000001s;
2022-04-07 14:22:36 -07:00
}
.videoTile * {
touch-action: none;
-moz-user-select: none;
-webkit-user-drag: none;
user-select: none;
}
.videoTile video {
width: 100%;
height: 100%;
object-fit: cover;
background-color: #444;
}
.videoTile.isLocal:not(.screenshare) video {
transform: scaleX(-1);
}
.videoTile.speaking::after {
position: absolute;
top: -1px;
left: -1px;
right: -1px;
bottom: -1px;
content: "";
border-radius: 20px;
2022-06-01 11:48:17 -04:00
box-shadow: inset 0 0 0 4px var(--accent) !important;
2022-04-07 14:22:36 -07:00
}
.videoTile.screenshare > video {
object-fit: contain;
}
.memberName {
position: absolute;
bottom: 16px;
left: 16px;
height: 24px;
padding: 0 8px;
color: white;
background-color: rgba(23, 25, 28, 0.85);
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
user-select: none;
max-width: calc(100% - 48px);
overflow: hidden;
z-index: 1;
}
.memberName > * {
margin-right: 6px;
}
.memberName > :last-child {
margin-right: 0px;
}
.memberName span {
font-size: 12px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.videoMutedAvatar {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.videoMutedOverlay {
width: 100%;
height: 100%;
background-color: #21262c;
2022-04-07 14:22:36 -07:00
}
.presenterLabel {
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
background-color: #17191c;
2022-04-07 14:22:36 -07:00
border-radius: 4px;
display: flex;
justify-content: center;
align-items: center;
padding: 4px 8px;
font-weight: normal;
font-size: 12px;
line-height: 15px;
}
.screensharePIP {
bottom: 8px;
right: 8px;
width: 25%;
max-width: 360px;
border-radius: 20px;
}