当前位置: 首页 > news >正文

网站开发交付营销型网站案例易网拓

网站开发交付,营销型网站案例易网拓,商城app官方下载,做页面设计的软件📅 我们继续 50 个小项目挑战!—— SplitLandingPage 组件 仓库地址:https://github.com/SunACong/50-vue-projects 项目预览地址:https://50-vue-projects.vercel.app/ 在这篇文章中,我们将实现一个交互式的左右面板…

📅 我们继续 50 个小项目挑战!—— SplitLandingPage 组件

  • 仓库地址:https://github.com/SunACong/50-vue-projects

  • 项目预览地址:https://50-vue-projects.vercel.app/

在这里插入图片描述


在这篇文章中,我们将实现一个交互式的左右面板对比组件,当用户将鼠标悬停在某一侧时,该侧会自动扩展以获得更多展示空间,提供强烈的视觉聚焦效果 ✨

适用于:商品对比、双选项引导页面、动态首页背景等场景


🎯 组件目标

  • 左右两个全屏高度的面板
  • 鼠标悬停在任一面板上时,该面板自动扩展至 75% 宽度,另一面板缩小至 25%
  • 鼠标移出后恢复 50% 对半布局
  • 背景支持图片和透明遮罩,内容居中展示标题与按钮

🛠️ 技术实现点

  • 使用 Vue 的 ref + reactive 实现响应式状态追踪
  • 使用 TailwindCSS 原子类管理布局、动画、背景和文本样式
  • 利用 @mousemove@mouseleave 事件监听鼠标位置
  • 根据鼠标区域动态绑定 class 控制宽度动画

🧱 SplitLandingPage.vue组件实现

<template><divclass="head-text flex h-screen items-center justify-center text-black"ref="container"@mousemove="handleMouseMove"@mouseleave="resetPanels"><!-- 左侧面板 --><divref="leftSide":class="[ 'relative h-full transition-all duration-700 ease-in-out', activePanel === 'left' ? 'w-3/4' : activePanel === 'none' ? 'w-1/2' : 'w-1/4' ]"><div class="absolute inset-0 bg-[url(@/assets/ps.jpg)] bg-cover"></div><div class="absolute inset-0 bg-pink-300/50"></div><div class="absolute inset-0 flex flex-col items-center justify-center gap-10 text-white"><p class="text-6xl font-bold">Playstation 5</p><button class="rounded-lg bg-pink-500 px-6 py-2 text-white transition-all hover:bg-pink-600">BUY NOW</button></div></div><!-- 右侧面板 --><divref="rightSide":class="[ 'relative h-full transition-all duration-700 ease-in-out', activePanel === 'right' ? 'w-3/4' : activePanel === 'none' ? 'w-1/2' : 'w-1/4' ]"><div class="absolute inset-0 bg-[url(@/assets/xbox.jpg)] bg-cover"></div><div class="absolute inset-0 bg-gray-200/50"></div><div class="absolute inset-0 flex flex-col items-center justify-center gap-10 text-white"><p class="text-6xl font-bold">Xbox Series X</p><button class="rounded-lg bg-gray-700 px-6 py-2 text-white transition-all hover:bg-gray-800">BUY NOW</button></div></div></div>
</template>

🧩 重点效果实现

const handleMouseMove = (e) => {if (!container.value) returnconst containerWidth = container.value.offsetWidthconst mouseX = e.clientXactivePanel.value = mouseX < containerWidth / 2 ? 'left' : 'right'
}const resetPanels = () => {activePanel.value = 'none'
}
  • handleMouseMove:根据鼠标位置设置当前激活面板
  • resetPanels:鼠标移出容器,恢复为中间对称状态

🎨 TailwindCSS 样式重点讲解

类名作用说明
w-3/4w-1/2w-1/4控制宽度动态响应
transition-all添加平滑过渡效果
duration-700设置动画时长 700ms
ease-in-out提升动画曲线体验
absolute inset-0实现背景图和遮罩的层叠与填充
bg-[url(...)] bg-cover加载背景图并保持填充
bg-pink-300/50半透明粉色遮罩层
text-6xl font-bold设置标题文字样式
hover:bg-pink-600按钮 hover 态变色

🧾 常量定义 + 组件路由建议

constants/index.js 添加组件预览常量:

export const projectList = [
{id: 7,title: 'Split Landing Page',image: 'https://50projects50days.com/img/projects-img/7-split-landing-page.png',link: 'SplitLandingPage',},
]

router/index.js 中添加路由选项:

{path: '/SplitLandingPage',name: 'SplitLandingPage',component: () => import('@/projects/SplitLandingPage.vue'),},

🧠 小结

通过 Vue 的响应式状态 + Tailwind 的原子类动画能力,我们成功实现了一个交互性十足的左右悬停扩展对比组件。它不仅视觉吸引力强,而且极其易于维护和扩展。如果你在构建商城首页、交互引导页或产品对比模块,这个模式可以完美复用!🚀


👉 下一篇,我们将完成一个简单灵动的 FromWave组件,适合任何表单搜集页面!🚀

http://www.dtcms.com/a/488642.html

相关文章:

  • 企业网站建设计划书wordpress 同分类评论调用
  • 基于YOLO11深度学习的人流量检测系统【Python源码+Pyqt5界面+数据集+安装使用教程+训练代码】【附下载链接】
  • 做门户网站的营业范围为什么建设银行网站
  • 境外网站做网站涉黄网络设计与制作课程
  • re一下--day3--运算符--经验贴
  • wordpress快速建站五个常见的电子商务网站
  • 北京专门做网站的公司网站是用虚拟机做还是服务器
  • 建站平台工具字体 安装到wordpress
  • 网站不显示域名解析错误怎么办百度知道小程序
  • 如何解决pip install -r requirements.txt Windows 反斜杠转义导致路径解析失败 问题
  • 【机器学习入门】7.4 随机森林:一文吃透随机森林——从原理到核心特点
  • Linux C/C++ 学习日记(24):UDP协议的介绍:广播、多播的实现
  • SEO参与网站建设注意wordpress小机巧
  • 网站搭建公司案例网址wordpress 缓存文件 手动删除
  • 贵阳营销型网站建设为什么wordpress安装成了英文版
  • 【avalonia教程】11字符串格式化、avalonia自带绑定值的转换
  • 岐山县住房和城市建设局网站软文范例大全100
  • 网站建设概南宁seo网络优化公司
  • 视频网站设计与开发上海建设银行网站
  • 最精品网站建设做国际贸易都用什么网站
  • 专业团队张伟原图广东seo加盟
  • 外贸自建站平台怎么选海口网站建设哪家好
  • 即墨哪里有做网站的二手商城网站建设论文
  • 网站网页不对称平台营销策略都有哪些
  • 佛山新网站建设详细内容东莞建设银行营业时间
  • 深圳做英文网站的公司中国科技成就作文800字
  • 10.15总结
  • 中介网站建设frontpage如何做网站
  • 360移动建站建筑工程网站搭建
  • 柏乡县建设局网站网站快照不更新了