当前位置:首页 > CSS

css制作聊天

2026-01-28 00:46:46CSS

使用CSS制作聊天界面

通过CSS可以轻松创建现代且响应式的聊天界面。以下是关键步骤和代码示例:

HTML结构

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

基础CSS样式

.chat-container {
  width: 350px;
  height: 500px;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
}

.chat-header {
  background-color: #4CAF50;
  color: white;
  padding: 15px;
  text-align: center;
  font-weight: bold;
}

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

.message {
  margin-bottom: 15px;
  max-width: 70%;
  padding: 8px 12px;
  border-radius: 18px;
  position: relative;
}

.message.received {
  background-color: #e5e5ea;
  align-self: flex-start;
}

.message.sent {
  background-color: #4CAF50;
  color: white;
  align-self: flex-end;
}

.message-content {
  margin-bottom: 5px;
}

.message-time {
  font-size: 0.7em;
  opacity: 0.7;
  text-align: right;
}

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

.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: #4CAF50;
  color: white;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}

高级样式技巧

气泡箭头效果

.message.received::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 0;
  border-width: 0 10px 10px 0;
  border-style: solid;
  border-color: transparent #e5e5ea transparent transparent;
}

.message.sent::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 0;
  border-width: 0 0 10px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #4CAF50;
}

响应式设计

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

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

动画效果

css制作聊天

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

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

暗黑模式支持

.dark-mode .chat-container {
  background-color: #2d2d2d;
  border-color: #444;
}

.dark-mode .chat-messages {
  background-color: #1e1e1e;
}

.dark-mode .message.received {
  background-color: #444;
  color: #eee;
}

.dark-mode .chat-input {
  background-color: #2d2d2d;
  border-top-color: #444;
}

.dark-mode .chat-input input {
  background-color: #444;
  color: #eee;
  border-color: #555;
}

这些CSS技巧可以帮助创建美观且功能完整的聊天界面。根据需求可以进一步自定义颜色、间距和动画效果。

标签: css
分享给朋友:

相关文章

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> <…

css简历制作

css简历制作

使用CSS制作简历的基本方法 选择简洁的布局结构,单列或双列布局适合大多数简历。使用display: flex或display: grid实现响应式设计,确保在不同设备上显示良好。 字体选择上,标题…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…

使用css制作同心圆

使用css制作同心圆

使用 CSS 制作同心圆 同心圆可以通过嵌套多个圆形元素并利用 CSS 的定位和样式属性实现。以下是几种常见方法: 方法一:使用绝对定位和多个 div 通过嵌套多个 div 元素,设置相同的圆心位置…

css尾部制作

css尾部制作

如何制作CSS尾部(页脚) 固定定位法 将页脚固定在页面底部,无论内容多少。使用position: fixed结合bottom: 0实现: footer { position: fixed;…