【小兔鲜电商前台 | 项目笔记】第二天

前言:小兔鲜电商前台项目是一个基于Vue的PC端项目,本系列文章我将总结我在这个项目中学到的知识点,写项目笔记。如果你正好在学Vue或想从零搭建一个前端项目,希望本系列文章可以帮助到你。

【小兔鲜电商前台 | 项目笔记】第二天

今日完结:

  • Layout静态结构搭建
  • 字体图标引入
  • 吸顶导航交互实现
  • Pinia优化重复请求
  • Home-banner轮播图实现

今日收获:

1.字体图标的引入

字体图标引入有多个方法,其中一种就是Font class引入。

在项目中引入 iconfont 生成的 Font class 链接后,通过给标签添加 iconfont 基础类和对应图标类即可使用字体图标。

1.拷贝项目下面生成的fontclass代码

javascript 复制代码
<link rel="stylesheet" href="//at.alicdn.com/t/font_2143783_iq6z4ey5vu.css">

2.挑选相应图标并获取类名,应用于页面

javascript 复制代码
<i class="iconfont icon-xxx"></i>

2.学会吸顶导航交互

实现思路:给导航设置固定定位(position:fixed),默认用transform:translateY(-100%)和opacity:0 隐藏;定义show类,取消位移并设置不透明,搭配过渡实现平滑显示;监听滚动距离,大于阈值时动态添加show类,控制导航显示。其中监听滚动距离用VueUse的useScroll方法,可快速获取指定容器(如 window)的滚动距离,返回响应式数据,直接用于判断触发吸顶效果。

javascript 复制代码
<script setup>
import {useScroll} from '@vueuse/core'
const {y} = useScroll(window)

</script>

<template>
  <div class="app-header-sticky" :class="{show: y>78}">
   ...
  </div>
</template>


<style scoped lang='scss'>
.app-header-sticky {
 ...
  // 此处为关键样式!!!
  // 状态一:往上平移自身高度 + 完全透明
  transform: translateY(-100%);
  opacity: 0;

  // 状态二:移除平移 + 完全不透明
  &.show {
    transition: all 0.3s linear;
    transform: none;
    opacity: 1;
  }

 ...
</style>

杂项知识点:

VueUse

VueUse 是一套专为 Vue 设计的常用逻辑工具库,把滚动、防抖、节流、懒加载、窗口大小、本地存储等高频场景封装成现成的组合式函数,不用自己写原生 JS 实现,直接调用即可。

总结:

今天主要是把基本的框架搭好了,也学到了如何引入字体图标,了解到了常用的逻辑工具库-VueUse。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

相关推荐
张龙68715 小时前
构建生产级 AI Agent:工具调用与记忆架构实战指南
前端
kyriewen16 小时前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
青山Coding17 小时前
Cesium应用(八):物体运动的实现思路
前端·cesium
用户416596736935517 小时前
Android WebView 加载 file:// 离线页面调试教程
android·前端
Asmewill17 小时前
curl命令学习笔记一
前端
我是一只快乐的小螃蟹17 小时前
1.2 ArrayList 源码解析
前端
星栈17 小时前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
我是一只快乐的小螃蟹17 小时前
1.1 HashMap (JDK1.8) 源码解析
前端
爱勇宝20 小时前
小红花成长新版:模板来了,鼓励也更容易开始
前端·后端·程序员
竹林81821 小时前
Solana前端开发:我在一个NFT铸造页面上被@solana/web3.js的Connection和Transaction签名坑了两天
前端