vue3学习---案例实现学习

目录

一,京东秒杀导航栏

1,静态样式展示

2,设计步骤

1,html骨架

2,css样式设计

3,vue3动态样式设计

 1,v-for使用

1,先在js模块做如下准备

 2,v-for遍历

2,实现动态设置css效果

 1,设计可变参数下标

2,让activeIndex作为一个动态下标改变样式

4,所有代码


一,京东秒杀导航栏

1,静态样式展示

2,设计步骤

1,html骨架
  <ul>
        <li><a href="#">京东秒杀</a></li>
        <li><a href="#">每日特价</a></li>
        <li><a href="#">限时秒杀</a></li>
    </ul>

 使用ul和li设计一个简单的骨架。

效果:

 

2,css样式设计
*  //给所有的元素干掉marging和padding
  {
      margin: 0px;
      padding: 0px;
  }

  ul
  {
     //去掉list样式
     list-style: none;
     //让ul这个样式水平填充
     display: flex;
     //设置ul的宽度
     width: 400px;
     //设置边距
     line-height: 50px;
     //设置下边框的样式
     border-bottom: 1px solid red;
  }

   ul li
  {
   
    
     //设置大小
     width: 100px;
     height: 50px;
     //字体居中
     text-align: center;
  }

  ul li a
  {
     //去掉a标签的样式
     text-decoration: none;
     //设置字体颜色
     color: black;
     //字体加粗
     font-weight: bold;
    //让每一个li元素都是块级元素
     display: block;
  }

  //动态样式:用户点击时才添加到特定的元素中
  .active
  {
     background-color: red;
     color: white;
  }

设计完上面的样式后,界面就变成如下样式

 

3,vue3动态样式设计

 1,v-for使用

v-for能够循环遍历一个数组,得到这个数组的一个子元素和对应下标。 

使用如下:

1,先在js模块做如下准备
<script setup>
 import { ref } from 'vue'//引入ref模块,主要是为了引入数据响应式
 //定义一个数组,用来给v-for遍历
 const tabs = ref([
      { id: 1, name: "京东秒杀" },
      { id: 2, name: "每日特价" },
      { id: 1, name: "限时抢购" }
 ])
 
 </script>

 2,v-for遍历
 <template>
    <ul>
        <li v-for="item,index in tabs " ><a href="#">{{ item.name }}</a></li>
    </ul>
 </template>
2,实现动态设置css效果
 1,设计可变参数下标
const activeIndex = ref(0)
2,让activeIndex作为一个动态下标改变样式
 <ul>
        <li v-for="item,index in tabs " >
            <a href="#" :class="activeIndex===index?'active':''" 
            @click="activeIndex=index">//绑定点击事件,点击就改变activeIndex下标
                {{ item.name }}
            </a></li>
    </ul>

4,所有代码

<script setup>
 import { ref } from 'vue'//引入ref模块,主要是为了引入数据响应式
 //定义一个数组,用来给v-for遍历
 const tabs = ref([
      { id: 1, name: "京东秒杀" },
      { id: 2, name: "每日特价" },
      { id: 1, name: "限时抢购" }
 ])

 const activeIndex = ref(0)
 
 </script>


 <template>
    <ul>
        <li v-for="item,index in tabs " >
            <a href="#" :class="activeIndex===index?'active':''" @click="activeIndex=index">
                {{ item.name }}
            </a></li>
    </ul>
 </template>
 
 
 <style lang="scss">
  
  *  //给所有的元素干掉marging和padding
  {
      margin: 0px;
      padding: 0px;
  }

  ul
  {
     //去掉list样式
     list-style: none;
     //让ul这个样式水平填充
     display: flex;
     //设置ul的宽度
     width: 400px;
     //设置边距
     line-height: 50px;
     //设置下边框的样式
     border-bottom: 1px solid red;
  }

  ul li
  {
     //设置大小
     width: 100px;
     height: 50px;
     //字体居中
     text-align: center;
  }

  ul li a
  {
     //去掉a标签的样式
     text-decoration: none;
     //设置字体颜色
     color: black;
     //字体加粗
     font-weight: bold;
    //让每一个li元素都是块级元素
     display: block;
  }

  //动态样式:用户点击时才添加到特定的元素中
  .active
  {
     background-color: red;
     color: white;
  }
 
 </style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910798.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

架构师:如何提高web网站的请求并发响应量?

文章目录 一、提出问题二、相关概念三、如何提高网站请求响应能力&#xff1f;四、负载均衡有那些方式&#xff1f;五、常用微服务架构图及推荐书籍 一、提出问题 今天&#xff0c;突然想到一个问题&#xff0c;双十一&#xff0c;那些电商网站的并发量是多大&#xff1f; 简…

中酱:健康生活的先行者

中酱&#xff1a;健康生活的先行者 在追求品质生活的道路上&#xff0c;健康是永恒的主题。每一个关乎健康的选择&#xff0c;都像是为生活点亮一盏明灯&#xff0c;指引我们走向更美好的生活。而在饮食这个与健康息息相关的领域&#xff0c;调味品的选择至关重要。中酱 —— 作…

使用CentOS宝塔面板docker搭建EasyTier内网穿透服务

0. 前言 EasyTier是一个简单、安全、去中心化的内网穿透 VPN 组网方案&#xff0c;部署方便&#xff0c;支持 MacOS/Linux/Windows/FreeBSD/Android平台&#xff0c;而且作者搭建了一个公共服务器&#xff0c;不想折腾自建服务&#xff0c;可以使用默认的公共服务器地址 tcp:/…

如何以开源加速AI企业落地,红帽带来新解法

CSDN 看到&#xff0c;生成式 AI 的火爆正在引发计算、开发、交互三大范式全面的升级和转换&#xff0c;全行业或将迎来一次全新的科技变革周期&#xff0c;可能比移动与云计算变革更加剧烈。不过 AI 经历了追求千亿模型效果和芯片、集群硬件的军备竞赛后&#xff0c;如何真正落…

计算机毕业设计Python+图神经网络手机推荐系统 手机价格预测 手机可视化 手机数据分析 手机爬虫 Django Flask Spark 知识图谱

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

【C语言】分支和循环详解(下)猜数字游戏

与诸君共进步&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 文章目录 1. 随机数的生成2. 猜数字小游戏的实现 1. 随机数的生成 掌握了前⾯学习的这些知识&#xff0c;我们就可以写⼀些稍微有趣的代码了&#xff0c;⽐如&#xff1a; 写⼀个猜数字游戏 游戏要求…

iOS灵动岛动画小组件怎么播放动画

这个灵动岛相关的展示位置分几个地方&#xff1a; 紧凑型&#xff0c;最小化&#xff0c;扩展型&#xff0c;还有锁屏位置 我们先来看一下我这边实现的动画效果 demo下载&#xff1a; iOS灵动岛GIF动画 灵动岛样式 灵动岛有三种渲染模式&#xff1a; 第一种是 紧凑型&…

西门子KTP系列HMI用户自定义弹窗-多弹窗共用

接上一个文章内容《西门子KTP系列HMI用户自定义弹窗》西门子KTP系列HMI用户自定义弹窗-CSDN博客 当我需要别的操作并且需要弹窗时&#xff0c;整个弹窗的内容和变量都需要重复重新绑定&#xff1b;如下图所示&#xff1a; 由上图可看出当前的自定义弹窗有以下缺点&#xff1a; …

Unity使用Spine导致设备发烫

spine制作过程中&#xff0c;美术同学使用裁剪技术 将一个特效文件做固定范围显示&#xff0c;实际上非常消耗CPU算力。 解决办法&#xff1a; 交给程序来实现裁剪&#xff0c;只要加Mask组件即可

您与此网站之间建立的连接不安全解决方法

如果你打开网站&#xff0c;地址栏有警告&#xff0c;点进去是这样的提示&#xff1a;您与此网站之间建立的连接不安全&#xff0c;了解详细信息。 请勿在此网站上输入任何敏感信息&#xff08;例如密码或信用卡信息&#xff09;&#xff0c;因为攻击者可能会盗取这些信息。 …

【flask开启进程,前端内容图片化并转pdf-会议签到补充】

flask开启进程,前端内容图片化并转pdf-会议签到补充 flask及flask-socketio开启threading页面内容转图片转pdf流程前端主js代码内容转图片-browser端browser端的同步编程flask的主要功能route,def 总结 用到了pdf,来回数据转发和合成,担心flask卡顿,响应差,于是刚好看到threadi…

R7:糖尿病预测模型优化探索

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、实验目的&#xff1a; 探索本案例是否还有进一步优化的空间 二、实验环境&#xff1a; 语言环境&#xff1a;python 3.8编译器&#xff1a;Jupyter notebo…

张氏宗谱序言白话文翻译

序言&#xff1a; 回想千家有赤松子的传承&#xff0c;张家有 “百忍” 的风范。感慨因迁徙和战乱、水灾之苦&#xff0c;远居他乡而失去了家族秩序。想起自从从泗州来到淮安&#xff0c;安家在安东县东北乡众湖荡之地。&#xff08;这里可能在回忆家族的迁徙历史&#xff09;…

从0开始学习Linux——Yum工具

往期目录&#xff1a; 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 上一个章节我们简单了解了Linux中常用的一些文本编辑器&#xff0c;本次教程我们将学习yum工具。 一、Yum简介 Yum&#xff08;全名…

推荐一款基于Flash的交互式园林设计工具:Garden Planner

Garden Planner是一款由Artifact Interactive开发的基于Flash的交互式园林设计工具。它允许用户以拖放的方式安排植物、树木、建筑物和各种对象&#xff0c;使园林规划变得简单直观。此外&#xff0c;Garden Planner提供工具来快速创建铺路、路径和围栏&#xff0c;帮助用户设计…

WinForms 中使用 MVVM 模式构建应用:实现登录页面、页面导航及 SQLite 数据库连接完整框架搭建过程

前言 在传统的 WinForms 应用程序开发中&#xff0c;很多开发者使用事件驱动的设计模式&#xff0c;直接将业务逻辑编写在界面代码中。然而&#xff0c;随着应用程序的复杂性增加&#xff0c;单一的界面文件变得臃肿&#xff0c;难以测试和维护。借鉴 WPF 中 MVVM&#xff08;…

诗林工作室(编号:mb0003)分享:Finbiz自适应响应式网页设计模版,适用于前端设计、博客、官网等多类型开发模版

本设计模版来自外网&#xff0c;为HTML类型的模版&#xff0c;色彩多样&#xff0c;适合Web开发人员做前端站点设计参考使用。全站模版倾向于官网设计、自主博客等多行业的平台模版开发&#xff0c;适合各大CMS的主题模版开发参考&#xff0c;如常见的Wordpress主题开发、Z-Blo…

在python中解析命令行参数,并做一个命令行程序

命令行参数 加密程序 考虑这样一个加密程序&#xff0c;其中一个功能&#xff0c;是对一段字符串进行base64加密&#xff0c;另一个功能&#xff0c;是对一段base64字符串解密&#xff1a; import base64def encrypt_to_base64(input_string):byte_data input_string.encod…

ESP8266 自定义固件烧录-Tcpsocket固件

一、固件介绍 固件为自定义开发的一个适配物联网项目的开源固件&#xff0c;支持网页配网、支持网页tcpsocket服务器配置、支持串口波特率设置。 方便、快捷、稳定&#xff01; 二、烧录说明 固件及工具打包下载地址&#xff1a; https://download.csdn.net/download/flyai…

I.MX6U 裸机开发3. GPIO操作控制LED灯

I.MX6U 裸机开发3. GPIO操作控制LED灯 一、创建项目目录及源文件1. 新建目录2. 远程开发环境3. 创建源文件 二、代码编写1. 打开时钟2. 配置端口复用功能为GPIO3. 配置端口电气属性4. 设置GPIO方向&#xff08;GDIR寄存器&#xff09;5. 输出6. 死循环等待 三、编译程序1. 整体…