便签数目是12个,鼠标移上去便签放大过渡
时间: 2024-01-02 13:02:45 浏览: 75
好的,那么以下是实现你所需功能的代码。
HTML代码:
```html
<div class="notes-container">
<div class="note">
<h3 class="note-title"></h3>
<div class="note-content"></div>
</div>
<!-- 其他11个便签 -->
</div>
```
CSS代码:
```css
/* 便签容器样式 */
.notes-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 800px;
margin: 0 auto;
}
/* 便签样式 */
.note {
position: relative;
width: calc(33.3% - 10px);
height: 200px;
margin-bottom: 20px;
background-color: #fff;
border: 1px solid #ccc;
box-shadow: 0px 0px 5px #ccc;
transition: transform 0.3s ease-out;
}
/* 鼠标移上去放大过渡效果 */
.note:hover {
transform: scale(1.1);
}
/* 便签标题样式 */
.note-title {
position: absolute;
top: 10px;
left: 10px;
font-size: 20px;
}
/* 便签内容样式 */
.note-content {
position: absolute;
top: 50px;
left: 10px;
font-size: 16px;
}
/* 通过nth-child选择器实现对便签的背景色和字体颜色控制 */
.note:nth-child(2n) {
background-color: #f5f5f5;
}
.note:nth-child(3n) {
background-color: #f0f0f0;
}
.note:nth-child(4n) {
background-color: #e5e5e5;
}
/* 便签旋转效果 */
.note:nth-child(odd) {
transform: rotate(-3deg);
}
.note:nth-child(even) {
transform: rotate(3deg);
}
```
JavaScript代码:
```javascript
// 获取便签容器
const notesContainer = document.querySelector('.notes-container');
// 从本地存储中读取数据,假设数据格式为JSON数组
const notesData = JSON.parse(localStorage.getItem('notes'));
// 遍历数据,创建便签并添加到容器中
notesData.forEach(note => {
const noteEl = document.createElement('div');
noteEl.classList.add('note');
const titleEl = document.createElement('h3');
titleEl.classList.add('note-title');
titleEl.textContent = note.title;
const contentEl = document.createElement('div');
contentEl.classList.add('note-content');
contentEl.textContent = note.content;
noteEl.appendChild(titleEl);
noteEl.appendChild(contentEl);
notesContainer.appendChild(noteEl);
});
```
这份代码实现了你所需要的功能,包括:
1. 从本地存储中读取数据,并根据数据动态生成便签。
2. 通过nth-child选择器实现对便签的背景色和字体颜色控制。
3. 便签具有旋转效果和阴影效果,鼠标移上去时具有放大过渡效果。
如果你有任何问题或者需要进一步的帮助,请告诉我。
阅读全文