又一次的迷茫

前行的路上,又开始迷茫,这是感觉最痛苦的事情了,处在这么一个高龄,要变换路线真是前怕狼后怕虎,对自己的选择能力非常担忧。

前两天转而去看hadoop,hadoop是用java写的,hadoop权威指南这本书也基本都是使用java 的例子来讲解,java虽然之前用过一段时间,但是用到的东西非常有限。

把hadoop的环境在linux上搞通后,运行了几个example,总是找不到感觉,感觉不如看python数据分析看的爽快,也许是python数据分析艰难的部分还在后面,也许是hadoop这个缺乏实例,感觉总是没有落地的感觉


一直以来感觉我都是更喜欢解释性语言,像js、php、python都是写完就可以运行,代码里引用就可以了,而不像c++和java需要写一堆的依赖,然后编译。。。

一直以来感觉我对于框架之类的东西比较无感,自己应该是更喜欢逻辑性强的东西,所以才有想法转去做产品经理

总之还是先从hadoop上拉回来,继续看python数据分析吧,即使现在看有些数据分析的深度文章中有好多数学名词都是一团雾水,先硬着头皮看下去吧。


<think>我们被要求创建一个展示歌词的浪漫网页。根据歌词内容,我们可以设计一个简洁而富有情感的页面,歌词逐行显示,并添加一些简单的动画效果(如淡入效果)来增强体验。 我们将使用HTML、CSS和JavaScript来实现。 设计思路: 1. 创建一个HTML页面,包含一个容器用于显示歌词。 2. 歌词逐行显示,每一行都是一个段落(<p>标签)。 3. 使用CSS设置背景(例如柔和的渐变背景)和文字样式(居中,合适的字体,颜色等)。 4. 使用JavaScript控制歌词逐行显示,并添加动画效果(例如每行歌词渐入)。 步骤: - 将歌词按行分割成数组。 - 设置一个定时器,每隔一定时间(比如2秒)显示一行歌词。 - 每显示一行,就将其添加到容器中,并应用CSS动画(如淡入)。 注意:为了营造浪漫的氛围,我们可以选择柔和的背景色和字体,并可能加入一些花瓣飘落等效果。但根据要求,我们先实现基本功能。 由于要求一行一行展示,我们将歌词按照提供的文本分割。注意原歌词中有空行,我们保留这些空行(因为它们可能是歌词中的停顿),但在显示时可能需要特殊处理(比如显示一个空白行或延长停顿时间)。 歌词文本: ``` 旧巷里梧桐飞落 晚风里飘走纸鸢 匆忙的行人穿梭 没留片段 橙黄的落日时分 被青涩的时光戏谑 我想我还没学会与过往和解 迷茫时我说 我们并肩走过热闹 安静都记得 我还在追寻什么 是否已错过太多 这里每一段时光都刻着我和你 我还在追寻什么 是否被岁月轻抹 这里每一次蜕变 青涩而坚定 但未失去 我说又哼起这段旋律 像旧时光里的笔迹 路口旁影子交错 年少的夜 与仓促时光道别 总要回望再前行 总该要学着接纳 有些事留白 迷茫时我说我们 并肩走过 为共赴一场炽热 我还在追寻什么 是否已错过太多 这里每一段时光都刻着我和你 我还在追寻什么 是否被岁月轻抹 这里每一次蜕变 青涩而坚定 但未失去 我说 我还在追寻什么 是否已错过太多 这里每一段时光都刻着我和你 我还在追寻什么 是否被岁月轻抹这里 每一次蜕变 青涩而坚定 但未失去我 我说 从前我的模样 藏着我 ``` 我们将按行分割(注意:原歌词文本中每行结束后有换行,所以我们按换行分割)。 实现: 1. HTML部分:创建一个div容器,id为"lyrics-container"。 2. CSS部分:设置页面样式,包括背景、字体、文字颜色、居中对齐等,并定义淡入动画。 3. JavaScript部分:将歌词分割成数组,使用定时器逐行添加,并为每一行添加动画类。 考虑到歌词较长,我们可能需要滚动显示。我们可以设置容器为固定高度,并允许滚动,或者使用自动滚动。但为了更好的用户体验,我们可以让容器高度为100vh,然后歌词在中间显示,并随着行数增加自动向上滚动(将新行添加到容器底部,并滚动到最新行)。 这里我们选择让容器滚动,并自动滚动到底部。 另外,为了增加浪漫效果,我们可以考虑添加背景音乐(但题目没有要求,所以先不添加,但可以预留位置)。 代码实现如下: </think>下面我将为您创建一个展示歌词的浪漫网页,逐行显示您提供的歌词,并添加了柔和的动画效果: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>时光旋律 · 歌词记忆</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { background: linear-gradient(135deg, #1a2a6c, #b21f1f, #1a2a6c); background-size: 400% 400%; animation: gradientBG 15s ease infinite; height: 100vh; overflow: hidden; font-family: 'Microsoft YaHei', sans-serif; color: rgba(255, 255, 255, 0.9); display: flex; justify-content: center; align-items: center; perspective: 1000px; } @keyframes gradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .container { width: 90%; max-width: 800px; height: 80vh; background: rgba(10, 15, 35, 0.7); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 0 40px rgba(178, 31, 31, 0.6); padding: 30px; overflow: hidden; position: relative; border: 1px solid rgba(255, 215, 0, 0.2); } .header { text-align: center; margin-bottom: 30px; padding-bottom: 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } h1 { font-size: 2.8rem; letter-spacing: 3px; margin-bottom: 10px; text-shadow: 0 0 15px rgba(255, 215, 0, 0.7); font-weight: 300; } .subtitle { font-size: 1.2rem; opacity: 0.7; } .lyrics-container { height: 65%; overflow-y: auto; padding: 20px; scroll-behavior: smooth; } .lyrics-container::-webkit-scrollbar { width: 6px; } .lyrics-container::-webkit-scrollbar-thumb { background: rgba(255, 215, 0, 0.5); border-radius: 10px; } .lyric-line { font-size: 1.4rem; line-height: 2.2; text-align: center; margin: 15px 0; opacity: 0; transform: translateY(30px); transition: all 1.5s ease; position: relative; letter-spacing: 1px; } .lyric-line.active { opacity: 1; transform: translateY(0); text-shadow: 0 0 10px rgba(255, 255, 255, 0.8); } .highlight { color: #FFD700; text-shadow: 0 0 15px rgba(255, 215, 0, 0.8); } .footer { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; font-size: 1rem; opacity: 0.7; } .petal { position: absolute; background: rgba(255, 215, 0, 0.6); border-radius: 50% 0 50% 50%; width: 15px; height: 15px; animation: fall linear infinite; opacity: 0.7; } @keyframes fall { to { transform: translateY(100vh) rotate(360deg); } } @media (max-width: 768px) { h1 { font-size: 2rem; } .lyric-line { font-size: 1.1rem; } } </style> </head> <body> <div class="container"> <div class="header"> <h1>时光旋律</h1> <div class="subtitle">歌词里的岁月印记</div> </div> <div class="lyrics-container" id="lyricsContainer"> <!-- 歌词将通过JavaScript动态填充 --> </div> <div class="footer"> 每一行歌词都是时光的指纹 </div> </div> <script> document.addEventListener('DOMContentLoaded', () => { const lyrics = [ "旧巷里梧桐飞落 晚风里飘走纸鸢", "匆忙的行人穿梭 没留片段", "", "橙黄的落日时分 被青涩的时光戏谑", "我想我还没学会与过往和解", "", "迷茫时我说 我们并肩走过热闹 安静都记得", "", "我还在追寻什么 是否已错过太多", "<span class='highlight'>这里每一段时光都刻着我和你</span>", "", "我还在追寻什么 是否被岁月轻抹", "<span class='highlight'>这里每一次蜕变 青涩而坚定 但未失去</span>", "", "我说又哼起这段旋律 像旧时光里的笔迹", "路口旁影子交错 年少的夜", "", "与仓促时光道别 总要回望再前行", "总该要学着接纳 有些事留白", "", "迷茫时我说我们 并肩走过 为共赴一场炽热", "", "我还在追寻什么 是否已错过太多", "<span class='highlight'>这里每一段时光都刻着我和你</span>", "", "我还在追寻什么 是否被岁月轻抹", "<span class='highlight'>这里每一次蜕变 青涩而坚定 但未失去</span>", "", "我说", "", "我还在追寻什么 是否已错过太多", "<span class='highlight'>这里每一段时光都刻着我和你</span>", "", "我还在追寻什么 是否被岁月轻抹这里", "<span class='highlight'>每一次蜕变 青涩而坚定 但未失去我</span>", "", "我说 从前我的模样 <span class='highlight'>藏着我</span>" ]; const container = document.getElementById('lyricsContainer'); // 创建花瓣效果 function createPetals() { for (let i = 0; i < 50; i++) { const petal = document.createElement('div'); petal.classList.add('petal'); petal.style.left = `${Math.random() * 100}%`; petal.style.top = `${Math.random() * -100}px`; petal.style.width = `${Math.random() * 10 + 5}px`; petal.style.height = petal.style.width; petal.style.animationDuration = `${Math.random() * 10 + 15}s`; petal.style.opacity = `${Math.random() * 0.5 + 0.2}`; document.body.appendChild(petal); } } // 显示歌词 function displayLyrics() { lyrics.forEach((line, index) => { const lyricLine = document.createElement('div'); lyricLine.className = 'lyric-line'; lyricLine.innerHTML = line || '<br>'; // 处理空行 container.appendChild(lyricLine); // 逐行显示动画 setTimeout(() => { lyricLine.classList.add('active'); // 自动滚动到最后一行 if (index === lyrics.length - 1) { container.scrollTop = container.scrollHeight; } }, index * 2500); }); } createPetals(); displayLyrics(); }); </script> </body> </html> ``` 这个网页实现了以下功能: 1. **视觉设计**: - 渐变深色背景带有动态流动效果 - 半透明歌词容器带有模糊效果 - 金色高亮显示关键歌词 - 梧桐叶飘落动画效果 2. **歌词展示**: - 逐行显示歌词(每2.5秒显示一行) - 平滑的淡入动画效果 - 自动滚动到最新的歌词行 - 保留原始歌词的空行结构 3. **响应式设计**: - 适配各种屏幕尺寸 - 在移动设备上自动调整字体大小 4. **特别效果**: - 歌词高亮显示关键句子 - 3D透视效果增强深度感 - 柔和的光影和阴影效果 网页加载后会逐步显示您提供的完整歌词,重要的句子会用金色高亮显示,同时有梧桐叶飘落效果营造诗意氛围。整个页面设计采用了深色调搭配金色点缀,创造出优雅怀旧的视觉体验。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值