创建一个响应式的留言板
在这篇文章中,我们将学习如何创建一个简单而美观的留言板,它将包括基本的样式和动画效果,以及响应式设计,确保在不同设备上都能良好显示。
HTML 结构
首先,我们创建基本的HTML结构。留言板由多个留言组成,每个留言包含日期、内容和作者。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>留言板</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="message-board">
<!-- 动态添加更多留言 -->
<div class="message slide-in">
<div class="message-meta">2024-9-5</div>
<div class="message-content">今天的进度有点慢...</div>
<div class="message-author">努力中的小白</div>
</div>
<!-- 更多留言 -->
</div>
</body>
</html>
CSS 样式
接下来,我们添加CSS样式来美化留言板。我们将使用Flexbox来布局留言,并添加一些动画效果。
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
display: flex;
justify-content: center;
align-content: space-between;
min-height: 100vh;
}
.message-board {
max-width: 800px;
}
.message {
background: #fff;
border: 1px solid #ddd;
padding: 15px;
margin-bottom: 1.1em;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
width: 400px;
}
.message:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.message-meta {
font-size: 0.9em;
color: #888;
margin-bottom: 10px;
}
.message-content {
font-size: 1em;
color: #333;
}
.message-author {
text-align: right;
margin: 0 0 0px;
font-size: 0.9em;
color: #555;
}
@keyframes slideIn {
from {
transform: translateY(-400%);
}
to {
transform: translateY(0);
}
}
.slide-in {
animation: slideIn 1s ease forwards;
}
响应式设计
为了确保留言板在不同设备上都能良好显示,我们可以使用媒体查询来调整留言的宽度。
@media (max-width: 600px) {
.message {
width: 100%;
}
}
动画效果
我们为留言添加了一个简单的滑动动画,当页面加载时,每个留言都会从屏幕外滑入。
@keyframes slideIn {
from {
transform: translateY(-400%);
}
to {
transform: translateY(0);
}
}
.slide-in {
animation: slideIn 1s ease forwards;
}
结论
通过这篇文章,我们学习了如何创建一个基本的留言板,包括样式和动画效果。我们使用了Flexbox来布局留言,并添加了响应式设计,确保留言板在不同设备上都能良好显示。此外,我们还为留言添加了滑动动画,提高了用户体验。