使用HTML5仿PC端微信聊天界面

news/2024/12/23 6:11:28/文章来源:https://www.cnblogs.com/ai888/p/18622891

要仿制一个PC端的微信聊天界面,你需要掌握HTML5、CSS3和JavaScript的基础知识。以下是一个简单的示例,指导你如何开始:

1. HTML结构

首先,创建一个基本的HTML结构,包括聊天窗口、输入框和发送按钮。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>仿微信聊天界面</title><link rel="stylesheet" href="styles.css">
</head>
<body><div class="chat-container"><div class="chat-window"><div class="messages"><!-- 聊天消息将在这里显示 --></div></div><div class="input-area"><input type="text" id="messageInput" placeholder="输入消息..."><button id="sendButton">发送</button></div></div><script src="script.js"></script>
</body>
</html>

2. CSS样式

接下来,使用CSS为聊天界面添加样式。以下是一个简单的样式示例:

/* styles.css */
body {font-family: Arial, sans-serif;background-color: #f0f0f0;margin: 0;padding: 0;
}.chat-container {display: flex;flex-direction: column;height: 100vh;max-width: 800px;margin: 0 auto;padding: 20px;background-color: #fff;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);overflow: hidden;
}.chat-window {flex: 1;display: flex;flex-direction: column;padding: 10px;gap: 10px;background-color: #f9f9f9;border-radius: 8px;overflow-y: auto;
}.messages {display: flex;flex-direction: column;gap: 10px;
}.message {padding: 8px 12px;border-radius: 8px;background-color: #e0e0e0;max-width: 70%;margin-bottom: auto; /* 使消息靠近底部 */
}.input-area {display: flex;gap: 10px;margin-top: 10px;
}#messageInput {flex: 1;padding: 8px;border: 1px solid #ccc;border-radius: 4px;
}#sendButton {padding: 8px 16px;background-color: #007bff;color: #fff;border: none;border-radius: 4px;cursor: pointer;
}

3. JavaScript交互

最后,使用JavaScript为聊天界面添加交互功能。以下是一个简单的脚本示例:

// script.js
document.getElementById('sendButton').addEventListener('click', function() {const messageInput = document.getElementById('messageInput');const messageText = messageInput.value.trim();if (messageText) {sendMessage(messageText);messageInput.value = ''; // 清空输入框}
});function sendMessage(text) {const messageDiv = document.createElement('div');messageDiv.classList.add('message');messageDiv.innerText = text;const messagesDiv = document.querySelector('.messages');messagesDiv.appendChild(messageDiv); // 将消息添加到聊天窗口messagesDiv.scrollTop = messagesDiv.scrollHeight; // 滚动到最底部显示新消息
}

这个简单的示例展示了如何使用HTML5、CSS3和JavaScript创建一个基本的仿微信聊天界面。你可以根据需要进一步扩展和完善这个示例,例如添加用户头像、时间戳、消息气泡样式等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/857265.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ollama+llama3.1+open-webui搭一个本地的模型

1、先安装我们的ollama 1.1、官网地址:https://ollama.com/ 选择合适的版本,我的是window版本,点击下载,不用填邮箱。1.2、开始安装,选择默认就可以1.3、安装完毕:cmd输入:ollama2、安装模型:llama3.1 2.1:找到模型 2.2复制下载2.3、命令行下载: 2.4、下载完毕就进入对…

windows修改mac 地址

参考 https://blog.csdn.net/u012559967/article/details/134768073 win11确认可行 (另外一种修改注册表,暂未确认) 网络适配器中配置 网络适配器中配置的方式适用于能够在网络适配器中找到物理地址(NetworkAddress)的情况。 1、打开控制面板 > 网络和共享中心 > 更改…

MADDPG算法

MADDPG算法 论文名称:《Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments》 一、基本问题 MADDPG是一篇经典的多智能体强化学习算法。在MADDPG以前,多智能体强化学习算法主要为独立学习技术。独立学习技术 独立学习技术就是在环境中对于每一个智能体…

ble广播和连接

蓝牙BLE设备的状态:从机处于待机,广播,连接状态中的一种,主机处于待机,扫描,连接状态的一种。 在BLE通讯中,数据收发都是通过连接事件触发的。连接事件的发生始终位于一个频率,这个频率由连接参数决定。连接参数是主机决定的,从机可以向主机发起连接参数请求,但是最终…

ble基础

一、蓝牙基础 蓝牙标准profile bluez linux tools 一文读懂BLE 1.1 蓝牙分类 蓝牙分为经典蓝牙(BT-Bluetooth)和低功耗蓝牙(BLE-Bluetooth Low Energy)。这两套原理和实现都不一样,也无法实现互通。 Basic Rate(BR)/EDR/AMP 最初的蓝牙技术,包括可选的EDR(Enhanced Da…

爬取小说案例-BeautifulSoup教学篇

@目录前言导航BeautifulSoupBeautifulSoup介绍BeautifulSoup的使用1. 导入库2. 实例化对象3. 提取数据成果共勉博客 前言 当我们进行爬取各种资源,拿到源码进行解析数据的时候,会用到各种解析方式,本文介绍的爬取小说的一个案例,使用比较受欢迎的python第三方库BeautifuSou…

vue基础指令示例

1、vue基础示例<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>基础指令</title><script src="../vu/js/vue.js"></script><style>.box1{width: 150px;height: 1…

楚慧杯Misc—复现

gza_CrackerCrack_me 追踪tcp流量找到字典保存字典,上流量一把梭base64解密特殊流量2 一把梭出个www.zip打开,是个RSA <?php $cmd = @$_POST[ant]; $pk = <<<EOF -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfhiyoPdM6svJZ+QlYywklwVcx…

INFINI Labs 产品更新 | Console/Gateway/Agent 等产品开源发布首个版本

INFINI Labs 产品又更新啦~,包括 Easysearch v1.9.0、Gateway、Console、Agent、Loadgen v1.27.0。本次各产品更新了很多亮点功能,如 Easysearch 优化了多版本兼容配置;Console/Gateway/Agent/Loadgen 及 Framework 开源后,发布首个重大更新版本,支持过期元数据删除,指标…

JVM简介—1.Java内存区域

大纲 1.运行时数据区的介绍 2.运行时数据区各区域的作用 3.各个版本内存区域的变化 4.直接内存的使用和作用 5.站在线程的角度看Java内存区域 6.深入分析堆和栈的区别 7.方法的出入栈和栈上分配、逃逸分析及TLAB 8.虚拟机中的对象创建步骤 9.对象的内存布局 10.对象的访问定位 …

鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】

鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析 万物智联,打造无缝智能生态 在科技不断迭代更新的今天,每一次技术的飞跃都是对未来的深刻探索。华为,这个始终站在科技前沿的企业,再次以HarmonyOS 5.0(Next)这一操作系统的新篇章,向我们展示了科技如…