CSS——网易云音乐首页之热门推荐歌单的制作

文章目录


前言

       本文主要讲述了网易云音乐首页的热门推荐歌单部分的实现过程,我将从先分析大致结构与布局,其次书写样式的顺序进行讲解,在这个过程中将会运用到浮动,定位,以及雪碧图等相关知识点(这些在以往的文章中都有介绍到,感兴趣的小伙伴可以动手翻阅一下,我在这里就不加以赘述)


一、结构的布局

示例图:

 

结构的分析——

       (在写布局时我们可以按照从外到内,从上到下的思想,从整体到局部分析应有的结构,将大致框架固定随后再书写其样式)

  1. 首先,引入眼帘的是标题部分,大致可分为左右两个区域并将其各自浮动进行位置的固定,左侧的红色图标就是利用到雪碧图的使用方法,我们可将红色按钮与标题归为同一个结构中,随后的歌单分类可以用 ul 包裹并将其中li 进行左浮动即可。 其次就是右侧的更多按钮,在这里就可以使用右浮动实现,右侧的箭头图标也是采用雪碧图的形式。如下图所示:

    2. 其次就是下方的歌单区域,可先将其用一个整体的框架将其位置固定,随后再书写每个歌单的结构与样式,(在这里我们只要完成其中一个歌单,其他的通过复用结构的方法再修改其样式即可完成) 下图表示的就是结构的划分

 

二、实现过程

1.HTML结构

代码如下(示例):

 <!-- 热门推荐外部容器 -->
                    <div class="total-hot">
                        <!--头部标题-->
                        <div class="title">
                            <div class="red">
                                <a href="#" class="title-description">热门推荐</a>
                            </div>
                            <ul class="title-left">
                                <li><a href="#">华语</a></li>
                                <li class="line">|</li>
                                <li><a href="#">流行</a></li>
                                <li class="line">|</li>
                                <li><a href="#">摇滚</a></li>
                                <li class="line">|</li>
                                <li><a href="#">民谣</a></li>
                                <li class="line">|</li>
                                <li><a href="#">电子</a></li>
                            </ul>
                            <div class="title-right">
                                <a href="#" class="more">更多&nbsp;&nbsp;</a>
                                <i class="red-arrow"></i>
                            </div>
                        </div>
                        <!-- 热门推荐歌单列表 -->
                        <ul class="CD-list">
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li id="four">
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                            <li>
                                <!-- 歌单图片 -->
                                <a href="#">
                                    <img src="./img/CD-list1.jpg" alt="">
                                    <div class="img-bottom">
                                        <span class="listen"></span>
                                        <span class="number">1241万</span>
                                        <a href="#" class="play"></a>
                                    </div>
                                </a>
                                <!-- 歌单的描述文字 -->
                                <span class="CD-description"><a href="#">我要你的光芒,来点亮我内心的诗意</a></span>
                            </li>
                        </ul>
                    </div>

 

2.CSS样式

代码如下(示例):

/* 热门推荐总体容器样式设置 */
.total-hot {
    width: 689px;
    height: 523px;
    margin-bottom: 40px;
}

.title {
    height: 35px;
    line-height: 35px;
    padding: 0px 10px 0px 34px;
    border-bottom: 2px solid #C10D0C;
}

.red {
    display: inline-block;
    background-image: url(../img/index.png);
    background-position: -225px -156px;
    position: relative;
    left: -34px;
}

.red>a {
    display: inline-block;
    font-size: 20px;
    height: 30px;
    line-height: 30px;
    width: 110px;
    margin-left: 6px;
    text-align: right;

}

.title-description {
    color: #333333;
}

.title-left {
    position: relative;
    top: -25px;
    left: 100px;
}

.title-left>li {
    float: left;
    font: 12px Arial, Helvetica, sans-serif;
}

.line {
    color: #cccccc;
    margin: 0px 10px;
}

.title-left>li>a {
    color: #666666;
}

.hot-recommend {
    position: relative;
    top: 4px;
    left: -30px;
    color: #333333;
    font: 20px Arial, Helvetica, sans-serif !important;
}

.title-right {
    height: 35px;
    line-height: 35px;
    position: relative;
    top: -35px;
    float: right;
}

.title-right>a {
    font: 12px Arial, Helvetica, sans-serif;
    color: #666666;
}

/* 推荐歌单列表样式设置 */
.CD-list {
    width: 731px;
    height: 458px;
    margin: 20px 0px 0px -42px;
}

.CD-list>li {
    width: 140px;
    height: 194px;
    padding: 0px 0px 30px 42px;
    float: left;
}

#four {
    position: relative;
    top: -13px;
}

.CD-list li>a {
    display: inline-block;
    width: 140px;
    height: 140px;
}

.img-bottom {
    display: inline-block;
    width: 140px;
    height: 27px;
    position: relative;
    top: -29px;
    background-image: url(../img/背景.png);
    background-position: 0 -537px;
}

.img-bottom .listen {
    background-image: url(../img/播放按钮.png);
    background-position: 0 -24px;
    float: left;
    width: 14px;
    height: 11px;
    margin: 8px 5px 9px 10px;
}

.number {
    float: left;
    font-size: 12px;
    margin: 7px 0px 0px 0px;
}

.play {
    position: absolute;
    right: 10px;
    bottom: 5px;
    width: 16px;
    height: 17px;
    background-image: url(../img/播放按钮.png);
    background-position: 0 0;
}

.img-bottom span,
.img-bottom a {
    color: #ccc;
    font-size: 12px;
}

.CD-description {
    position: relative;
    top: -23px;
    line-height: 18px;
}

.CD-description a {
    font-size: 14px;
    color: #000000;
}

.CD-description:hover a {
    text-decoration: underline;
}

 


总结

       那么以上就是今天所要讲述的内容,关于网易云音乐首页的实现我会归纳为一个系列,希望可以帮助到你吧,今天依旧祝福看到这篇文章的朋友有个好心情,拜~

### 如何在 VSCode 中使用网易云音乐插件进行听 #### 安装插件 为了能够在 Visual Studio Code (VSCode) 编辑器中享受网易云音乐的服务,需先安装相应的插件。此过程简单快捷。 可以通过访问Visual Studio Marketplace 或者直接在VSCode内部搜索并安装名为“网易云音乐”的扩展来完成这一步骤[^1]。一旦找到目标插件,则点击安装按钮等待自动配置完毕即可。 #### 启动与基本操作 成功安装之后,在左侧活动栏会出现一个新的图标代表已加载成功的网易云音乐插件。单击这个图标打开面板,这里提供了完整的在线音乐服务体验环境,包括但不限于曲播放控制、个性化推荐以及个人资料管理等功能。 对于初次使用者来说,可能还需要经历一次性的初始化设置流程,比如同意隐私政策条款或是绑定账号等必要环节以便更好地同步用户的偏好数据。 #### 技术细节说明 值得注意的是,该插件利用了VS Code 的 Webview 组件作为界面展示载体,并借助 Web Audio API 来处理音频流传输工作,整个架构设计使得即使是在轻量级开发环境中也能流畅运行高质量音效[^2]。 另外有开发者分享了一种更深入定制化的方法——通过替换特定版本下的 `ffmpeg.dll` 文件以优化某些场景下可能出现的声音输出问题,不过这种方法适用于高级用户并且需要谨慎对待原有文件的安全备份措施[^4]。 ```bash # 替换FFMPEG示例(仅限了解) cp electron-v9.2.1-linux-x64/ffmpeg.dll /path/to/vscode/resources/app/node_modules/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值