当前位置:首页 > 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创建一个基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单示例: .button { pad…

css制作导航条

css制作导航条

导航条的基本结构 使用HTML的<nav>标签和<ul>列表创建导航条的基本结构。导航项通常包含链接,示例代码如下: <nav> <ul>…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div class…

如何制作css

如何制作css

创建CSS文件 新建一个纯文本文件,将文件扩展名改为.css,例如style.css。确保文件名不含空格或特殊字符,使用连字符或下划线分隔单词。 编写CSS语法 CSS规则由选择器和声明块组成。选择…

min.css制作

min.css制作

使用 min.css 制作轻量级样式 min.css 是一个极简的 CSS 框架,专注于轻量化和快速加载。以下是如何使用 min.css 进行开发的步骤。 引入 min.css 通过 CDN 直接引…

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…