用html+css写一个的留言板页面
时间: 2024-05-07 11:18:43 浏览: 11
好的,以下是一个简单的留言板页面的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言板</title>
<style>
/* 设置样式 */
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
}
h1 {
text-align: center;
margin-top: 50px;
}
form {
max-width: 500px;
margin: 0 auto;
background-color: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
label {
display: block;
margin-bottom: 10px;
}
input[type="text"],
textarea {
width: 100%;
padding: 10px;
margin-bottom: 20px;
border: none;
border-radius: 3px;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
input[type="submit"] {
display: block;
width: 100%;
padding: 10px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 3px;
cursor: pointer;
}
input[type="submit"]:hover {
background-color: #0069d9;
}
.message {
background-color: #f2f2f2;
padding: 20px;
margin-bottom: 20px;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.message p {
margin-bottom: 10px;
}
.message .meta {
font-size: 14px;
color: #666;
}
.message .delete {
float: right;
font-size: 14px;
color: #007bff;
cursor: pointer;
}
.message .delete:hover {
color: #0069d9;
}
</style>
</head>
<body>
<h1>留言板</h1>
<form action="#" method="post">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required>
<label for="email">邮箱:</label>
<input type="text" id="email" name="email" required>
<label for="message">留言:</label>
<textarea id="message" name="message" rows="5" required></textarea>
<input type="submit" value="提交留言">
</form>
<div id="message-list">
<!-- 留言列表将在这里显示 -->
</div>
<script>
// 获取留言列表并显示
function getMessageList() {
fetch('/api/messages')
.then(response => response.json())
.then(messages => {
const messageList = document.getElementById('message-list');
messageList.innerHTML = '';
messages.forEach(message => {
const div = document.createElement('div');
div.classList.add('message');
const p1 = document.createElement('p');
p1.textContent = message.message;
div.appendChild(p1);
const p2 = document.createElement('p');
p2.textContent = `By ${message.name} on ${message.date}`;
p2.classList.add('meta');
div.appendChild(p2);
const deleteLink = document.createElement('a');
deleteLink.textContent = '删除';
deleteLink.classList.add('delete');
deleteLink.setAttribute('data-id', message.id);
deleteLink.addEventListener('click', deleteMessage);
p2.appendChild(deleteLink);
messageList.appendChild(div);
});
});
}
getMessageList();
// 提交留言
const form = document.querySelector('form');
form.addEventListener('submit', event => {
event.preventDefault();
const formData = new FormData(form);
fetch('/api/messages', {
method: 'POST',
body: formData
})
.then(() => {
form.reset();
getMessageList();
});
});
// 删除留言
function deleteMessage(event) {
const id = event.target.getAttribute('data-id');
fetch(`/api/messages/${id}`, {
method: 'DELETE'
})
.then(() => {
getMessageList();
});
}
</script>
</body>
</html>
```
需要注意的是,上面的代码中使用了fetch函数来进行异步HTTP请求,如果你的浏览器不支持它,你需要使用XMLHttpRequest或其他方式来实现异步请求。此外,上面的代码中使用了一个简单的API来处理留言的增删改查操作,你需要自己编写后端代码来实现这个API。