css实现聊天窗气泡效果
时间: 2023-08-05 17:35:45 浏览: 176
要实现聊天窗气泡效果,可以使用以下的CSS样式:
HTML结构:
```html
<div class="chat-container">
<div class="chat-message received">
<div class="message-bubble">
<span class="message">Hello!</span>
</div>
</div>
<div class="chat-message sent">
<div class="message-bubble">
<span class="message">Hi there!</span>
</div>
</div>
<div class="chat-message received">
<div class="message-bubble">
<span class="message">How are you?</span>
</div>
</div>
<div class="chat-message sent">
<div class="message-bubble">
<span class="message">I'm good, thanks. How about you?</span>
</div>
</div>
</div>
```
CSS样式:
```css
.chat-container {
display: flex;
flex-direction: column;
padding: 20px;
background-color: #eee;
height: 400px;
overflow-y: scroll;
}
.chat-message {
display: flex;
margin-bottom: 10px;
}
.received {
align-self: flex-start;
}
.sent {
align-self: flex-end;
}
.message-bubble {
background-color: #fff;
border-radius: 10px;
padding: 10px;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
position: relative;
}
.message-bubble:before {
content: "";
position: absolute;
top: 0;
border-style: solid;
border-width: 0 10px 10px 0;
}
.received .message-bubble:before {
left: -10px;
border-color: #fff transparent transparent transparent;
}
.sent .message-bubble:before {
right: -10px;
border-color: #007bff transparent transparent transparent;
}
.message {
line-height: 1.5;
font-size: 14px;
}
```
解释:
- `chat-container`是聊天窗的容器,设置了`flex`布局和垂直方向的排列,以及一些基本的样式,如背景色、高度和滚动条等。
- `chat-message`是每个聊天消息的容器,设置了`flex`布局和一些基本的样式,如外边距等。
- `.received`和`.sent`分别表示接收到的消息和发送的消息,设置了不同的对齐方式。
- `message-bubble`是消息气泡的容器,设置了一些基本的样式,如背景色、边框半径、内边距和阴影等,以及相对定位。
- `.message-bubble:before`是消息气泡的三角形,使用`content`属性来插入一个空内容,设置了绝对定位、上边距、边框样式和边框宽度,并根据消息的来源设置了不同的位置、边框颜色和方向。
- `message`是消息内容的容器,设置了一些基本的样式,如行高和字体大小等。
这些样式可以根据实际需求进行调整,以达到更好的效果。
阅读全文