@charset "UTF-8"; /* 1v1 视频电话模式 */ .template-1v1 { width: 100vw; height: 100%; position: relative; background-image: linear-gradient(180deg, #000000 22%, #354C57 96%); filter: blur(40); } .template-1v1.vertical { height: 100vh; } .template-1v1 .view-container { width: 50vw; height: 100%; position: absolute; top: 0; z-index: 2; } .template-1v1.vertical .view-container { padding-bottom: 88%; height: 0; top: 17%; } .template-1v1 .pusher-container { position: absolute; right: 0; } .template-1v1 .pusher-container.fullscreen { width: 100vw; height: 100vh; top: 0; right: 0; } .template-1v1 .loading { position: absolute; top: 40vh; left: 50vw; transform: translate(-50%, 0); width: 300rpx; height: 250rpx; border-radius: 12rpx; background: rgba(0, 0, 0, 0.6); color: white; padding: 40rpx; display: flex; flex-direction: column; } .template-1v1 .loading-img { height: 200rpx; display: flex; justify-content: center; align-items: center; animation: rotate 2s linear infinite; } .template-1v1 .rotate-img { width: 160rpx; height: 160rpx; } .template-1v1 .loading-text { width: 100%; padding-top: 40rpx; text-align: center; } @keyframes rotate { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } } /* .template-1v1 .player-container:nth-child(1){ width: 100vw; height: 100vh; } */ .template-1v1 .handle-btns { position: absolute; z-index: 3; bottom: 15vh; width: 100vw; display: flex; flex-direction: row; justify-content: space-around; } .template-1v1 .bottom-btns { position: absolute; z-index: 3; bottom: 3vh; width: 100vw; display: flex; flex-direction: row; justify-content: space-around; } /* .template-1v1 image { width: 4vh; height: 4vh; } */ .template-1v1 .btn-normal { width: 8vh; height: 8vh; box-sizing: border-box; display: flex; background: white; justify-content: center; align-items: center; border-radius: 50%; } .template-1v1 .btn-hangup .btn-image, .template-1v1 .btn-normal .btn-image { width: 4vh; height: 4vh; } .template-1v1 .btn-hangup { width: 8vh; height: 8vh; background: #f75c45; box-sizing: border-box; display: flex; justify-content: center; align-items: center; border-radius: 50%; } /* 9人 会议模版 */ .template-grid { width: 100vw; height: 100vh; overflow: hidden; /* display: flex; flex-direction: row; flex-wrap: wrap; */ } .column-layout { width: 100vw; height: 100vh; display: flex; flex-direction: column; } .column-layout .column-1 { flex: 1; } .column-layout .column-2 { position: relative; height: 100rpx; background-color: #242424; } .fullscreen-device-fix .column-layout .column-2 { height: 120rpx; } .menu { width: 100%; display: flex; flex-direction: row; justify-content: center; align-items: center; } .menu .menu-item { text-align: center; height: 100rpx; flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; } .menu .menu-item .image { width: 46rpx; height: 46rpx; } .more-menu { position: absolute; top: 0; } .more-menu .scroll-container { width: 100%; height: 100rpx; white-space: nowrap; } .more-menu .menu-item-container { width: 20%; display: inline-block; } .template-grid .grid-container { width: 100%; height: 100%; display: flex; flex-direction: row; flex-wrap: wrap; } .template-grid .grid-scroll-container { width: 100%; height: 100%; /* box-sizing: border-box; */ /* overflow-y: scroll; */ background-color: #000; } .grid-containe.overflow { height: auto; } .template-grid .view-container { position: relative; } .stream-0 .view-container { width: 100%; height: 100%; } .stream-1 .view-container { width: 100%; height: 50%; } .stream-2 .view-container { width: 50%; height: 50%; } .stream-2 .view-container:nth-child(1) { width: 100%; height: 50%; } .stream-3 .view-container { width: 50%; height: 50%; } .stream-4 .view-container { width: 50%; height: 33.3%; } .stream-4 .view-container:nth-child(1) { width: 100%; height: 33.3%; } .stream-5 .view-container { width: 50%; height: 33.3%; } .stream-6 .view-container { width: 33.3%; height: 33.3%; } .stream-6 .view-container:nth-child(1) { width: 100%; height: 33.3%; } .stream-7 .view-container { width: 33.3%; height: 33.3%; } .stream-7 .view-container:nth-child(1) { width: 50%; height: 33.3%; } .stream-7 .view-container:nth-child(2) { width: 50%; height: 33.3%; } .stream-8 .view-container { width: 33.3%; height: 33.3%; } .stream-even .view-container { width: 50%; height: 50%; } .stream-odd .view-container { width: 50%; height: 50%; } .stream-odd .view-container:last-child { width: 100%; height: 50%; } .template-grid .operation-bar { position: absolute; bottom: 6rpx; width: 100%; display: flex; flex-direction: row; justify-content: center; } .operation-bar .operation-item-container { width: auto; display: flex; flex-direction: row; justify-content: center; background: rgba(0, 0, 0, 0.3); border-radius: 10rpx; } .template-grid .operation-bar .operation-item { width: 64rpx; height: 64rpx; /* flex-grow: 1; */ display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; } .operation-item .item-image { width: 36rpx; height: 36rpx; } .template-grid .volume-progress { width: 100%; position: absolute; bottom: 0; } .template-grid .btn-normal { width: 64rpx; height: 64rpx; margin: 0 6rpx; box-sizing: border-box; display: flex; background: white; justify-content: center; align-items: center; border-radius: 50%; } .template-grid .btn-normal .btn-image { width: 36rpx; height: 36rpx; } .template-grid .btn-hangup { background: #f75c45; } .template-grid .panel { position: absolute; background: rgba(0, 0, 0, 0.8); width: 90vw; height: auto; z-index: 999; top: 50vh; left: 50vw; transform: translate(-50%, -50%); color: white; display: flex; flex-direction: column; padding: 20rpx 0; border-radius: 10rpx; box-sizing: border-box; font-size: 14px; } .panel .close-btn { position: absolute; top: 0; right: 0; padding: 5px 10px; } .panel .panel-header { text-align: center; padding-bottom: 20rpx; } .panel .panel-tips { color: #999; text-align: center; } .panel .panel-body { flex: 1; max-height: 50vh; } .panel .panel-body .scroll-container { width: 100%; height: 100%; box-sizing: border-box; } .memberlist-panel .panel-body { height: 50vh; } .memberlist-panel .member-item { display: flex; /* border-bottom: 1px solid #999; */ margin: 16rpx 16rpx 16rpx 32rpx; } .memberlist-panel .member-id { width: 30%; font-size: 12px; line-height: 64rpx; } .memberlist-panel .member-btns { width: 70%; display: flex; justify-content: flex-end; } .memberlist-panel .member-btns .btn-normal { margin-left: 0; } .memberlist-panel .member-btns .btn { margin-right: 0; } .setting-panel .panel-body { height: 50vh; } .setting-panel .setting-option { display: flex; justify-content: space-between; margin: 16rpx 16rpx 16rpx 32rpx; /* box-sizing: border-box; padding: 12rpx 16rpx 12rpx 32rpx; */ } .setting-panel .setting-option .label { /* line-height: 64rpx; */ display: flex; flex-direction: column; justify-content: center; align-items: center; } .setting-panel .setting-switch { transform: scale(0.8); margin-right: -12rpx; } .bgm-panel .panel-body { height: auto; } .bgm-panel .setting-option { height: 60rpx; display: flex; flex-direction: row; margin: 16rpx 16rpx 16rpx 32rpx; } .bgm-panel .setting-option .label { width: 140rpx; line-height: 60rpx; } .bgm-panel .setting-option .slider-content { flex: 1; line-height: 60rpx; } .bgm-panel .setting-option .slider-content slider { transform: scale(0.9); margin: 0; } .bgm-panel .setting-option .slider-content progress { transform: scale(0.9); margin-top: 28rpx; } .bgm-panel .menu { padding: 16rpx 32rpx 16rpx 32rpx; box-sizing: border-box; } .bgm-panel .menu .menu-item { height: 80rpx; background-color: #333; } .template-grid .masker { position: absolute; top: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.4); } .template-grid .no-stream, .template-grid .no-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; color: #fff; background-color: rgba(0, 0, 0, 0.4); font-size: 12px; } .template-grid .audio-volume, .template-grid .no-audio { position: absolute; bottom: 20rpx; left: 20rpx; width: 36rpx; height: 36rpx; } .no-stream .image, .no-video .image { width: 60rpx; height: 60rpx; } .audio-volume .image, .no-audio .image { width: 36rpx; height: 36rpx; position: absolute; /*android 的bug ,image absolute后会向上漂移几个像素,如果要对其必须都设置absolute*/ } .audio-active { position: absolute; left: 0; bottom: 0; width: 100%; height: 0; overflow: hidden; } .audio-active .image { bottom: 0; } .slide-up-tips { position: absolute; bottom: -100rpx; left: 50%; transform: translate(-50%, 0); width: 200rpx; height: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; font-size: 12px; color: #fff; background-color: rgba(0, 0, 0, 0.4); box-sizing: border-box; padding: 20rpx; border-radius: 10rpx; opacity: 0; } .slide-up-tips .image { width: 100rpx; height: 100rpx; } .player-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; } .player-placeholder .image { width: 100rpx; height: 100rpx; } .pages-container { width: auto; left: 50%; transform: translate(-50%, 0); height: 20rpx; position: absolute; bottom: 12%; display: flex; flex-direction: row; align-items: center; justify-content: center; } .pages-container .page-item { width: 20rpx; height: 20rpx; border-radius: 50%; margin: 0 8rpx; background-color: rgba(99, 99, 99, 0.5); } .pages-container .page-item.current { background-color: #fff; } .radio-group-no-box { display: inline-block; color: #006eff; background-color: #ffffff; border: 1px solid #006eff; border-radius: 4px; margin-left: 180rpx; font-size: 12px; } .radio-group-no-box .radio-item { padding: 5px 8px; text-align: center; border-right: 1px solid #006eff; display: inline-block; } .radio-group-no-box .radio-item:last-child { border-right: none; } .radio-group-no-box .radio-item.selected { color: #ffffff; background-color: #006eff; } .radio-group-no-box radio { display: none; } .picker-label { display: inline-block; color: #006eff; background-color: #ffffff; border: 1px solid #006eff; border-radius: 4px; padding: 5px 8px; text-align: center; font-size: 12px; } /* 通过方法自定义模式 */ .template-custom { /* 绝对定位模式 pusher 和 player 都用绝对定位*/ width: 100vw; height: 100vh; position: relative; } .template-custom .pusher-container, .template-custom .player-container { position: absolute; } .plv-rtc-nameplate { position: absolute; bottom: 50px; left: 13%; transform: translateX(-13%); } .plv-rtc-nameplate.audio { top: 0; width: 100%; height: 100%; } .plv-rtc-nameplate__bg__img { width: 100%; height: 100%; background-image: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0.25) 100%); filter: blur(10px); } .plv-rtc-nameplate__content { position: absolute; box-sizing: content-box; display: flex; justify-items: center; align-items: center; border-radius: 21px; } .plv-rtc-nameplate__content.audio { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; flex-direction: column; } .plv-rtc-nameplate__content.video { padding: 0 6px 0 2px; width: 148px; height: 32px; background: rgba(0, 0, 0, 0.3); } .plv-rtc-nameplate__content__status { display: flex; align-items: center; justify-content: center; } .plv-rtc-nameplate__content__nickname { width: 96px; height: 22px; font-size: 16px; color: #FFFFFF; margin: 0 4px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .plv-rtc-nameplate__content__avatar { width: 28px; height: 28px; border-radius: 100%; } .plv-rtc-nameplate__content__avatar.audio { background-color: #FFFFFF; width: 80px; height: 80px; padding: 2px; background-color: #fff; } .plv-rtc-nameplate__content__avatar.audio image { margin-bottom: 6px; width: 80px; height: 80px; } .plv-rtc-nameplate__content__avatar.video image { width: 100%; height: 100%; } .plv-rtc-nameplate__content__mic { width: 12px; height: 16px; } .plv-rtc-nameplate__content__avatar__image { border-radius: 100%; } .pusher { width: 100%; height: 100%; position: absolute; } .player { width: 100%; height: 100%; position: absolute; } .debug-info { max-width: 100vw; max-height: 90vh; box-sizing: border-box; overflow-y: scroll; position: absolute; z-index: 9999; background-color: rgba(0, 0, 0, 0.5); color: #fff; bottom: 20rpx; left: 0; padding: 10rpx; font-size: 12px; } .debug-info-btn .debug-btn, .debug-info .debug-btn { padding: 0 8px; min-height: 18px; width: auto; font-size: 12px; line-height: 18px; display: inline-block; color: #06ae56; background-color: #f2f2f2; } .debug-info .debug-btn.false { color: #727272; } .debug-info-btn .debug-btn, .debug-info .button-hover { background-color: #dbdbdb; } .debug-info .close-btn { position: absolute; top: 0; right: 0; padding: 5px 10px; } .debug-info .text.true { color: #1fff8b; } .debug-info .text.false { color: #ff2e2e; } .debug-info-btn { position: absolute; z-index: 9998; bottom: 160rpx; left: 0; } .trtc-room-container { height: 100%; width: 100%; } .trtc-room-container .btn { display: inline-block; width: auto; height: 60rpx; min-height: 60rpx; line-height: 60rpx; font-size: 12px; font-weight: normal; padding: 0 10rpx; color: #006eff; background-color: #f2f2f2; margin: 0 16rpx; } .trtc-room-container .btn.active { color: #f2f2f2; background-color: #006eff; } .trtc-room-container .btn-hover { background-color: #d1d1d1; } .im-panel { position: absolute; z-index: 9; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 90vw; height: 320rpx; top: 50vh; left: 50vw; transform: translate(-50%, -50%); padding: 20rpx 0; border-radius: 10rpx; font-size: 12px; /* bottom: 25vh; */ color: #fff; background-color: rgba(0, 0, 0, 0.8); } .im-panel .close-btn { position: absolute; top: 0; right: -3px; padding: 5px 10px; z-index: 99; } .message-panel-body { width: 100%; height: 80%; overflow-x: hidden; overflow-y: scroll; } .message-scroll-container { height: 100%; /* box-sizing: border-box; padding: 0 20rpx; */ } .message-list { width: 100%; box-sizing: border-box; padding: 0 20rpx; /* display: flex; flex-direction: column; */ } .message-item { width: 100%; /* height: 36rpx; */ /* padding: 0 20rpx; */ padding-bottom: 10rpx; display: flex; flex-direction: row; } .message-item .user-name { width: 20%; color: #2483ff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .user-name.mine { color: #ff7424; } .message-item .separate { padding: 0 5px; color: #fff; } .message-item .message-content { word-wrap: break-word; word-break: break-all; padding-left: 20rpx; position: relative; max-width: 80%; box-sizing: border-box; } .message-content::after { content: ':'; position: absolute; left: 0; top: 0; } .message-panel-bottom { width: 100%; height: 50rpx; box-sizing: border-box; padding: 0 20rpx 0; margin-top: 20rpx; display: flex; flex-direction: row; } .message-input-container { flex-grow: 1; } .message-input-container .message-input { font-size: 12px; padding-left: 20rpx; border-radius: 10rpx; height: 100%; background-color: rgba(0, 0, 0, 0.1); } .message-send-btn .btn { margin-right: 0; height: 50rpx; min-height: 50rpx; line-height: 50rpx; } .volume-animation { position: absolute; width: 80rpx; height: 80rpx; left: 0; top: initial; bottom: 20rpx; z-index: 9; /* transform: translate(-50%, 0); */ } .volume-animation .image { position: absolute; width: 80rpx; height: 80rpx; } .volume-animation .audio-active { animation: viewlinear 1.5s linear infinite; } @keyframes viewlinear { /** 第一种写法**/ 0% { height: 0; } 100% { height: 100%; } } .none, .view-container.none, .template-grid .view-container.none, .template-1v1 .view-container.none { display: none !important; }