@charset "UTF-8"; /** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ page { background-color: #e5e5e5; } .icon { font-size: 56rpx; color: #333; } .hidden { display: none !important; } @-webkit-keyframes showEM { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-42vw); transform: translateY(-42vw); } } @keyframes showEM { 0% { -webkit-transform: translateY(0); transform: translateY(0); } 100% { -webkit-transform: translateY(-42vw); transform: translateY(-42vw); } } @-webkit-keyframes hideEM { 0% { -webkit-transform: translateY(-42vw); transform: translateY(-42vw); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } @keyframes hideEM { 0% { -webkit-transform: translateY(-42vw); transform: translateY(-42vw); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } } .emoji-box { width: 96%; height: 42vw; padding: 20rpx 2%; background-color: #f3f3f3; border-top: solid 1rpx #ddd; position: fixed; z-index: 20; top: 100%; } .emoji-box.hideEmoji { -webkit-animation: hideEM .15s linear both; animation: hideEM .15s linear both; } .emoji-box.showEmoji { -webkit-animation: showEM .15s linear both; animation: showEM .15s linear both; } .emoji-box .swiper swiper-item { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; } .emoji-box .swiper swiper-item view { width: 12vw; height: 12vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; } .emoji-box .swiper swiper-item view image { width: 60%; } .input-box { width: 98%; min-height: 100rpx; padding: 0 1%; background-color: #f2f2f2; display: -webkit-box; display: -webkit-flex; display: flex; position: fixed; z-index: 20; bottom: 0; } .input-box.hideEmoji { -webkit-animation: hideEM .15s linear both; animation: hideEM .15s linear both; } .input-box.showEmoji { -webkit-animation: showEM .15s linear both; animation: showEM .15s linear both; } .input-box .voice, .input-box .more { -webkit-flex-shrink: 0; flex-shrink: 0; width: 90rpx; height: 100rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .input-box .send { -webkit-flex-shrink: 0; flex-shrink: 0; width: 100rpx; height: 100rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .input-box .send .btn { width: 90rpx; height: 56rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; background: -webkit-linear-gradient(left, #f09b37, #eb632c); background: linear-gradient(to right, #f09b37, #eb632c); color: #fff; border-radius: 6rpx; font-size: 24rpx; } .input-box .textbox { width: 100%; min-height: 70rpx; margin-top: 15rpx; } .input-box .textbox .voice-mode { width: calc(100% - 2rpx); height: 68rpx; border-radius: 70rpx; border: solid 1rpx #cdcdcd; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; font-size: 28rpx; background-color: #fff; color: #555; } .input-box .textbox .voice-mode.recording { background-color: #e5e5e5; } .input-box .textbox .text-mode { width: 100%; min-height: 70rpx; display: -webkit-box; display: -webkit-flex; display: flex; background-color: #fff; border-radius: 40rpx; } .input-box .textbox .text-mode .box { width: 100%; padding-left: 30rpx; min-height: 70rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .input-box .textbox .text-mode .box textarea { width: 100%; } .input-box .textbox .text-mode .em { -webkit-flex-shrink: 0; flex-shrink: 0; width: 80rpx; height: 70rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .record { width: 40vw; height: 40vw; position: fixed; top: 55%; left: 30%; background-color: rgba(0, 0, 0, 0.6); border-radius: 20rpx; } .record .ing { width: 100%; height: 30vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } @-webkit-keyframes volatility { 0% { background-position: 0% 130%; } 20% { background-position: 0% 150%; } 30% { background-position: 0% 155%; } 40% { background-position: 0% 150%; } 50% { background-position: 0% 145%; } 70% { background-position: 0% 150%; } 80% { background-position: 0% 155%; } 90% { background-position: 0% 140%; } 100% { background-position: 0% 135%; } } @keyframes volatility { 0% { background-position: 0% 130%; } 20% { background-position: 0% 150%; } 30% { background-position: 0% 155%; } 40% { background-position: 0% 150%; } 50% { background-position: 0% 145%; } 70% { background-position: 0% 150%; } 80% { background-position: 0% 155%; } 90% { background-position: 0% 140%; } 100% { background-position: 0% 135%; } } .record .ing .icon { background-image: -webkit-linear-gradient(top, #f09b37, #fff 50%); background-image: linear-gradient(to bottom, #f09b37, #fff 50%); background-size: 100% 200%; -webkit-animation: volatility 1.5s ease-in-out -1.5s infinite alternate; animation: volatility 1.5s ease-in-out -1.5s infinite alternate; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 150rpx; color: #f09b37; } .record .cancel { width: 100%; height: 30vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .record .cancel .icon { color: #fff; font-size: 150rpx; } .record .tis { width: 100%; height: 10vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; font-size: 28rpx; color: #fff; } .record .tis.change { color: #f09b37; } .content { width: 100%; } .content .msg-list { width: 96%; padding: 0 2%; position: absolute; top: 0; bottom: 100rpx; } .content .msg-list .row { padding: 20rpx 0; } .content .msg-list .row:first-child { margin-top: 20rpx; } .content .msg-list .row .my .left, .content .msg-list .row .other .right { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; } .content .msg-list .row .my .left .bubble, .content .msg-list .row .other .right .bubble { max-width: 70%; min-height: 50rpx; border-radius: 10rpx; padding: 15rpx 20rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; font-size: 32rpx; word-break: break-word; } .content .msg-list .row .my .left .bubble.img, .content .msg-list .row .other .right .bubble.img { background-color: transparent; padding: 0; overflow: hidden; } .content .msg-list .row .my .left .bubble.img image, .content .msg-list .row .other .right .bubble.img image { max-width: 350rpx; max-height: 350rpx; } .content .msg-list .row .my .left .bubble.voice .icon, .content .msg-list .row .other .right .bubble.voice .icon { font-size: 40rpx; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; } .content .msg-list .row .my .left .bubble.voice .icon:after, .content .msg-list .row .other .right .bubble.voice .icon:after { content: " "; width: 53rpx; height: 53rpx; border-radius: 100%; position: absolute; box-sizing: border-box; } .content .msg-list .row .my .left .bubble.voice .length, .content .msg-list .row .other .right .bubble.voice .length { font-size: 28rpx; } .content .msg-list .row .my .right, .content .msg-list .row .other .left { -webkit-flex-shrink: 0; flex-shrink: 0; width: 80rpx; height: 80rpx; } .content .msg-list .row .my .right image, .content .msg-list .row .other .left image { width: 80rpx; height: 80rpx; border-radius: 10rpx; } .content .msg-list .row .my { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; } .content .msg-list .row .my .left { min-height: 80rpx; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; } .content .msg-list .row .my .left .bubble { background-color: #f06c7a; color: #fff; } .content .msg-list .row .my .left .bubble.voice .icon { color: #fff; } .content .msg-list .row .my .left .bubble.voice .length { margin-right: 20rpx; } @-webkit-keyframes my-play { 0% { -webkit-transform: translateX(80%); transform: translateX(80%); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes my-play { 0% { -webkit-transform: translateX(80%); transform: translateX(80%); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } .content .msg-list .row .my .left .bubble.play .icon:after { border-left: solid 10rpx rgba(240, 108, 122, 0.5); -webkit-animation: my-play 1s linear infinite; animation: my-play 1s linear infinite; } .content .msg-list .row .my .right { margin-left: 15rpx; } .content .msg-list .row .other { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; } .content .msg-list .row .other .left { margin-right: 15rpx; } .content .msg-list .row .other .right { -webkit-flex-wrap: wrap; flex-wrap: wrap; } .content .msg-list .row .other .right .username { width: 100%; height: 45rpx; font-size: 24rpx; color: #999; display: -webkit-box; display: -webkit-flex; display: flex; } .content .msg-list .row .other .right .username .name { margin-right: 50rpx; } .content .msg-list .row .other .right .bubble { background-color: #fff; color: #333; } .content .msg-list .row .other .right .bubble.voice .icon { color: #333; } .content .msg-list .row .other .right .bubble.voice .length { margin-left: 20rpx; } @-webkit-keyframes other-play { 0% { -webkit-transform: translateX(-80%); transform: translateX(-80%); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } @keyframes other-play { 0% { -webkit-transform: translateX(-80%); transform: translateX(-80%); } 100% { -webkit-transform: translateX(0%); transform: translateX(0%); } } .content .msg-list .row .other .right .bubble.play .icon:after { border-right: solid 10rpx rgba(255, 255, 255, 0.8); -webkit-animation: other-play 1s linear infinite; animation: other-play 1s linear infinite; }