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

前言:小兔鲜电商前台项目是一个基于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。

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

相关推荐
qq_120840937110 小时前
Three.js 工程向:资源生命周期管理与显存回收实践
前端·javascript·orbitcontrols
MaoziShan10 小时前
CMU Subword Modeling | 23 Syllables and Syllabification
前端·人工智能·机器学习·语言模型·自然语言处理·中文分词
M ? A10 小时前
VuReact 1.6.2 发布,新一代 Vue 3 转 React 编译工具
前端·javascript·vue.js·react.js·面试·开源·vureact
Nicander10 小时前
vibe-coding 项目:中文字体子集化工具(纯前端)
前端
w20180010 小时前
段永平投资问答录pdf完整版
笔记·pdf
老王以为10 小时前
Vue & React 服务端渲染深度分析
前端·vue.js·react.js
im_AMBER10 小时前
协同文档丢失?Yjs状态漂移与三层防线
前端·react.js·架构
Waoooo199910 小时前
谷歌云配置嵌套虚拟化
前端·chrome
风花雪月_10 小时前
保姆级 | 实现大文件切片上传、断点续传与秒传(Vue3+React+Node全覆盖)
前端
我的征途是星辰大海。10 小时前
设计模式(学习笔记)(第一章)
笔记·学习·设计模式