实现h5、css3便签列表如下所示,要求第一次打开便签页面时,判断localStorage是否存储有便签数据,便签本地存储可以认为存储在localStorage['note'],若localStorage['note']没有数据先通过js将便签数组数据存储到localStorage['note'],若存在数据,则从localStorage取出数据渲染到页面上,通过nth-child选择器实现对便签的背景色和字体颜色控制,标签有旋转、阴影效果,并且鼠标箭头移上便签时有相应过渡显示效果
时间: 2024-02-21 21:57:42 浏览: 59
好的,根据你的要求,我给你提供一个实现的思路:
1. 判断localStorage是否存储有数据,如果没有则通过js将便签数组数据存储到localStorage['note'],可以使用JSON.stringify()方法将数组转成字符串存储。
2. 若存在数据,则从localStorage取出数据渲染到页面上,可以使用JSON.parse()方法将字符串转成数组。
3. 使用CSS3中的nth-child选择器实现对便签的背景色和字体颜色控制,可以使用transform属性实现旋转效果,box-shadow属性实现阴影效果。
4. 对便签添加鼠标移上事件,使用transition属性实现相应过渡显示效果。
下面是一个简单的HTML和JS代码示例,可以供你参考:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>便签列表</title>
<style>
body {
background-color: #f5f5f5;
}
.note {
width: 200px;
height: 200px;
padding: 20px;
background-color: #fff;
color: #333;
font-size: 16px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
transform: rotate(-5deg);
transition: transform 0.3s ease-in-out;
}
.note:hover {
transform: rotate(0deg);
}
.note:nth-child(2n) {
background-color: #f8bbd0;
color: #fff;
}
.note:nth-child(3n) {
background-color: #c5e1a5;
}
</style>
</head>
<body>
<div id="noteList"></div>
<script>
// 判断localStorage是否存储有数据
if (!localStorage.getItem('note')) {
// 若没有数据,则初始化数据
var noteList = [
{
content: '这是第一条便签'
},
{
content: '这是第二条便签'
},
{
content: '这是第三条便签'
}
];
localStorage.setItem('note', JSON.stringify(noteList));
}
// 从localStorage取出数据并渲染到页面
var noteList = JSON.parse(localStorage.getItem('note'));
var html = '';
noteList.forEach(function(note) {
html += '<div class="note">' + note.content + '</div>';
});
document.getElementById('noteList').innerHTML = html;
</script>
</body>
</html>
```
希望能对你有所帮助!
阅读全文