…">
当前位置:首页 > CSS

css制作聊天

2026-04-01 03:17:29CSS

使用CSS制作聊天界面

创建一个聊天界面需要结合HTML结构和CSS样式。以下是一个基本的聊天界面实现方法:

HTML结构:

<div class="chat-container">
  <div class="chat-messages">
    <div class="message received">
      <div class="message-content">你好!最近怎么样?</div>
    </div>
    <div class="message sent">
      <div class="message-content">我很好,谢谢关心!</div>
    </div>
  </div>
  <div class="chat-input">
    <input type="text" placeholder="输入消息...">
    <button>发送</button>
  </div>
</div>

CSS样式:

.chat-container {
  width: 400px;
  height: 600px;
  border: 1px solid #ddd;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
}

.chat-messages {
  flex: 1;
  padding: 15px;
  overflow-y: auto;
  background-color: #f9f9f9;
}

.message {
  margin-bottom: 15px;
  display: flex;
}

.message.received {
  justify-content: flex-start;
}

.message.sent {
  justify-content: flex-end;
}

.message-content {
  max-width: 70%;
  padding: 10px 15px;
  border-radius: 18px;
  line-height: 1.4;
}

.received .message-content {
  background-color: #fff;
  border: 1px solid #e5e5ea;
  color: #000;
}

.sent .message-content {
  background-color: #007aff;
  color: white;
}

.chat-input {
  padding: 10px;
  border-top: 1px solid #ddd;
  display: flex;
}

.chat-input input {
  flex: 1;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 20px;
  outline: none;
}

.chat-input button {
  margin-left: 10px;
  padding: 10px 15px;
  background-color: #007aff;
  color: white;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}

添加动画效果

为消息添加淡入效果:

.message {
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

响应式设计

使聊天界面适应不同屏幕尺寸:

@media (max-width: 500px) {
  .chat-container {
    width: 100%;
    height: 100vh;
    border-radius: 0;
  }

  .message-content {
    max-width: 85%;
  }
}

气泡样式优化

为消息气泡添加更现代的外观:

.received .message-content {
  background: linear-gradient(to bottom, #ffffff, #f5f5f5);
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

.sent .message-content {
  background: linear-gradient(to bottom, #0084ff, #006aff);
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

时间戳显示

在消息中添加时间戳:

<div class="message received">
  <div class="message-content">
    你好!最近怎么样?
    <div class="timestamp">10:30 AM</div>
  </div>
</div>

CSS样式:

css制作聊天

.timestamp {
  font-size: 0.75em;
  color: rgba(0,0,0,0.4);
  margin-top: 5px;
  text-align: right;
}

.sent .timestamp {
  color: rgba(255,255,255,0.7);
}

标签: css
分享给朋友:

相关文章

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc"> &…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .containe…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

css制作详情页

css制作详情页

CSS 制作详情页的关键方法 布局与结构设计 使用 flexbox 或 grid 实现响应式布局。flexbox 适合单行或单列排列的内容,grid 适合复杂网格布局。 .container {…