<…">
当前位置:首页 > 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%;
  }
}

动画效果

.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制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0…

制作css

制作css

CSS基础语法 CSS规则由选择器和声明块组成。选择器指向需要设置样式的HTML元素,声明块包含一个或多个用分号分隔的声明。每个声明由属性和值组成,用冒号分隔。 选择器 { 属性: 值;…

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opac…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

淘宝导航css制作

淘宝导航css制作

淘宝导航CSS制作 淘宝导航栏通常包含多个层级,包括主导航、子导航等。以下是实现类似淘宝导航栏的CSS制作方法。 基础HTML结构 <div class="nav-container"&g…