vue.js客服系统实时聊天项目开发(五)flex布局实现输入框区域
2023-06-13 09:16:43 时间
在聊天界面的输入框区域,我的实现代码是下面这样的
效果图
<div class="chatBottom">
<div class="chatArea">
<textarea class="chatAreaInput"></textarea>
<div class="chatJiahaoBtn iconfont icon-jiahao"></div>
<div class="chatSendBtn iconfont icon-fasong"></div>
</div>
<div class="chatCopyright">
<i class="el-icon-chat-dot-round"></i> Powered by Wolf
</div>
</div>
样式内容是
.chatArea{
margin: 0px 10px;
margin-bottom: 10px;
display: flex;
padding: 6px 5px;
align-items: center;
flex:1;
box-shadow: 0 5px 30px rgb(50 50 93 / 8%), 0 1px 3px rgb(0 0 0 / 5%);
border-radius: 10px;
background: #fff;
}
.chatArea .iconfont{
color: #383838;
font-size: 18px;
margin: 0px 5px;
cursor: pointer;
}
.chatArea .iconfont:hover{
color: #409eff;
}
.chatAreaInput{
border-radius: 10px;
border: none;
flex: 1;
outline: none;
resize: none;
box-sizing: border-box;
color: #505050;
min-height: 35px;
font-size: 16px;
}
.chatCopyright{
color: #999a9b;
font-size: 12px;
text-align: center;
margin-bottom: 10px;
filter: grayscale(1);
opacity: .9;
font-family: Inter,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Tahoma,Arial,sans-serif;
}
这段代码中的布局主要采用了 flex 布局。
.chatArea
类使用了 display: flex; 属性,将其子元素沿着水平方向排列。其子元素包括了一个文本域、一个加号图标和一个发送按钮图标。
文本域使用了 flex: 1; 属性,使其占据父元素剩余所有的空间,这样文本域就会填满整个父元素,而加号和发送按钮图标则只占用它们自己的空间。
整个聊天区域的父元素是.chatBottom
,而.chatCopyright
是.chatBottom
的兄弟元素,因此它们不受 flex 布局的影响。
总体上来看,这段代码中使用了 flex 布局来让文本域占据整个聊天区域,而加号和发送按钮图标则放置在文本域的两侧。
相关文章
- Vue.js - 使用Vue实现简简单单的分页功能
- vue router.beforeEach(),详解「建议收藏」
- vue.js 渲染函数_Vue.js的不可渲染且可扩展的RTF编辑器[通俗易懂]
- JS对象转数组_js怎么把数组转成对象
- vue.js单页应用_vue嵌入第三方页面
- Vue源码之数据响应式原理
- Vue组件数据通信方案总结
- 开心档之Vue.js 组件
- vue.js客服系统实时聊天项目开发(十八)仿淘宝商品页面点在线客服传递产品卡片
- vue.js客服系统实时聊天项目开发(二十)vue项目框架目录结构
- vue.js客服系统实时聊天项目开发(二十二)vue项目中router.js路由介绍
- Vue提示框组件vue-notification使用实例演示
- get两个js小技能——JS截取视频第一帧&图片转Base64
- Vue.js与Oracle数据库——构建完美的前端应用(vueoracle)
- Vue抢跑Redis速度感受实时重磅数据(vue获取redis)
- js对象之JS入门之Array对象操作小结