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

vscode用vue框架写一个登陆页面

目录

一、创建登录页面

二、构建好登陆页面的路由

三、编写登录页代码

1.添加基础结构

2.给登录页添加背景

3.解决填充不满问题

4.我们把背景的红颜色替换成背景图:

5.在页面中央添加一个卡片来显示登录页面

6.设置中间卡片页面的左侧

7.设置右侧的样式及数据

8.最后效果如下:

9.登录页面的总代码如下


写在前面:
登录页Login.Vue的代码会在文章最后给出,其他代码,须看文章图片修改。

一、创建登录页面

views文件是管理页面组件的文件夹,再此文件夹上右击新建文件,命名为Login.Vue,如下两图:

        

小知识点补充:

组件分为两种:页面组件功能组件
1.页面组件
用来构建独立页面的组件,保存在 views 目录中,页面组件中可以包含多个功能组件。

2.功能组件
我们可以将页面中一些独立的小功能制作成组件,这些组件可以被页面组件引入使用,比如:翻页、时间插件等,功能组件保存在 components 目录中,这些组件不能独立显示,只能被包含在一个页面组件中使用。

页面组件和功能组件的关系:(每个页面就是一个页面组件,每个页面中可以包含多个功能组件)

二、构建好登陆页面的路由

把原先的路由删掉,最后App.vue的script块和template块写成如下这样:

接着去①管理路由的main.js文件下改路由路径,
②把原来的路径注释掉,增加登录页的注释,
③把根路由添加为登录页,三步对应如下图中三步

三、编写登录页代码

1.添加基础结构

打开登录页组件(Login.vue),添加好vue3组件文件模板,如下:

<template></template>
<script setup></script>
<style ></style>

相关知识:

  • <template>定义组件的HTML结构。你可以在这里编写你的HTML代码,它将决定组件的渲染内容。

  • <script setup>: 编写组件的 JavaScript 逻辑,其中setup可以简化代码,是vue3独有,他使js的变量和方法直接暴露给模板template使用,不用再单独return出去。

  • <style>定义组件的样式。你可以在这里编写CSS代码来定义组件的外观。如果你希望样式只作用于当前组件,可以添加scoped属性,例如<style scoped>

2.给登录页添加背景

通过编写css样式以及html,如下:

发现填充不满整个屏幕,如下:

3.解决填充不满问题

肯定是创建文件后他给vue模板样式定义的填充范围限制了,我们去改一下

发现系统的css样式都在main.css中写了,我们找都这个文件,在assets文件中,修改main,js的地方如左下图:,另外我们还要修改base.css文件(这张图片的地方是改后的),如右下图

                     

可以看到从上往下数这三处,我们填充不满,因为现在网页使grid网格布局,我们改成flex弹性布局就可以了,改好后的main.css的代码如下:

@import './base.css';#app {/* max-width: 1280px; */margin: 0 auto;font-weight: normal;
}a,
.green {text-decoration: none;color: hsla(160, 100%, 37%, 1);transition: 0.4s;padding: 3px;
}@media (hover: hover) {a:hover {background-color: hsla(160, 100%, 37%, 0.2);}
}@media (min-width: 1024px) {body {display: flex;place-items: center;}#app {display: flex;}
}
4.我们把背景的红颜色替换成背景图:

 

发现成功!

5.在页面中央添加一个卡片来显示登录页面

在main.js中添加如下样式(下左图)用来设置用了该样式后,那个布局其内部的子元素排列方式,编写登陆页面的卡片位置(下右图),这个其实是给父容器(最外侧的div)设置水平和垂直居中,父容器控制子容器的排列方式,所以子容器是水平和垂直居中的

    

效果:

6.设置中间卡片页面的左侧

设置其子元素排列为垂直排列,背景为渐变,(

从左上角到右下角线性渐变,两个渐变色为#88d1ea,#d7c1bb),代码为:background:linear-gradient(to right bottom,#88d1ea 5%,#d7c1bb 100% ),如下图:

想设置不透明度,就得用rgba格式写颜色,其中a代表不透明度,他的值为0到1.

所以代码修改为:background:linear-gradient(to right bottom,rgba(136,209,234,0.80) 5%,rgba(215,193,187,0.80) 100% )

最后样式为下面

.login-form .left{width: 50%;height: 100%;align-items: left;justify-content: center;font-size: 1.6rem;font-weight: bold;background:linear-gradient(to right bottom,rgba(136,209,234,0.80) 5%,rgba(215,193,187,0.80) 100% );color: #fff;text-indent:1rem;
}

左侧的内容如下:

<div class="login-form  dis-h"><div class="dis-v left"><span> 欢迎~ </span><span> 智慧农业物联网 </span></div>   </div>

效果如下:

7.设置右侧的样式及数据

样式如下:

.login-form .right{width: 50%;height: 100%;background-color: rgba(255, 255, 255, 0.90);align-items: center;justify-content: center;
}
.login-form .username,.pwd,.btn{padding: 0.5rem 0; }

模板代码编写在<template>标签中,如下:

<div class="dis-v right"><div class="username dis-h"><el-input placeholder="请输入用户名" prefix-icon="User" /></div><div class="pwd dis-h"><el-input placeholder="请输入密码" prefix-icon="Lock" /></div><div class="btn dis-h"><el-button size="large" style="width:220px;background-color:#626aef;color:#fff font-weight:bold;" >登录</el-button></div></div>   </div>
8.最后效果如下:
 

9.登录页面的总代码如下:
<template><div class="login-container dis-h"><div class="login-form  dis-h"><div class="dis-v left"><span> 欢迎~ </span><span> 智慧农业物联网 </span></div><div class="dis-v right"><div class="username dis-h"><el-input placeholder="请输入用户名" prefix-icon="User" /></div><div class="pwd dis-h"><el-input placeholder="请输入密码" prefix-icon="Lock" /></div><div class="btn dis-h"><el-button size="large" style="width:220px;background-color:#626aef;color:#fff font-weight:bold;" >登录</el-button></div></div>   </div></div>
</template>
<script setup>import { User,Lock } from '@element-plus/icons-vue'
</script>
<style >
.login-container{width: 100vw;height: 100vh;background-image: url('../assets/bg.png');background-size: 100%;align-items: center;justify-content: center;
}
.login-form{width: 600px;height: 300px;/* background-color: red; */}
.login-form .left{width: 50%;height: 100%;align-items: left;justify-content: center;font-size: 1.6rem;font-weight: bold;background:linear-gradient(to right bottom,rgba(136,209,234,0.80) 5%,rgba(215,193,187,0.80) 100% );color: #fff;text-indent:1rem;
}
.login-form .right{width: 50%;height: 100%;background-color: rgba(255, 255, 255, 0.90);align-items: center;justify-content: center;
}
.login-form .username,.pwd,.btn{padding: 0.5rem 0; }
</style>

结束~ 

这篇文章只是页面简单的编写,逻辑还没写,下一篇文章更新哦~

相关文章:

vscode用vue框架写一个登陆页面

目录 一、创建登录页面 二、构建好登陆页面的路由 三、编写登录页代码 1.添加基础结构 2.给登录页添加背景 3.解决填充不满问题 4.我们把背景的红颜色替换成背景图&#xff1a; 5.在页面中央添加一个卡片来显示登录页面 6.设置中间卡片页面的左侧 7.设置右侧的样式及…...

腾讯云API安全保障措施?有哪些调用限制?

腾讯云API的调用效率如何优化&#xff1f;怎么使用API接口发信&#xff1f; 腾讯云API作为腾讯云提供的核心服务之一&#xff0c;广泛应用于各行各业。然而&#xff0c;随着API应用的普及&#xff0c;API安全问题也日益突出。AokSend将详细探讨腾讯云API的安全保障措施&#x…...

在建设工程合同争议案件中,如何来认定“竣工验收”?

在建设工程合同争议案件中&#xff0c;如何来认定“竣工验收”&#xff1f; 建设工程的最终竣工验收&#xff0c;既涉及在建设单位组织下的五方单位验收&#xff0c;又需政府质量管理部门的监督验收以及竣工验收备案&#xff0c;工程档案还需递交工程所在地的工程档案馆归档。…...

Linux:多线程中的互斥与同步

多线程 线程互斥互斥锁互斥锁实现的原理封装原生线程库封装互斥锁 死锁避免死锁的四种方法 线程同步条件变量 线程互斥 在多线程中&#xff0c;如果存在有一个全局变量&#xff0c;那么这个全局变量会被所有执行流所共享。但是&#xff0c;资源共享就会存在一种问题&#xff1…...

数据仓库之主题域

数据仓库的主题域&#xff08;Subject Area&#xff09;是按照特定业务领域或主题对数据进行分类和组织的方式。每个主题域集中反映一个特定的业务方面&#xff0c;使得数据分析和查询更加清晰和高效。主题域通常与企业的关键业务过程相关&#xff0c;能够帮助用户在数据仓库中…...

【简易版tinySTL】 vector容器

文章目录 基本概念功能思路代码实现vector.htest.cpp 代码详解变量构造函数析构函数拷贝构造operatorpush_backoperator[]insertprintElements 本实现版本 和 C STL标准库实现版本的区别&#xff1a; 基本概念 vector数据结构和数组非常相似&#xff0c;也称为单端数组vector与…...

BRAVE:扩展视觉编码能力,推动视觉-语言模型发展

视觉-语言模型&#xff08;VLMs&#xff09;在理解和生成涉及视觉与文本的任务上取得了显著进展&#xff0c;它们在理解和生成结合视觉与文本信息的任务中扮演着重要角色。然而&#xff0c;这些模型的性能往往受限于其视觉编码器的能力。例如&#xff0c;现有的一些模型可能对某…...

使用 Verdaccio 建立私有npm库

网上有很多方法,但很多没标注nginx的版本所以踩了一些坑,下方这个文档是完善后的,对linux不是很熟练,所以不懂linux不会搭建的跟着做就可以了 搭建方法 首先需要一台云服务器 以139.196.226.123为例登录云服务器 下载node cd /usr/local/lib下载node 解压 下载 wget https://…...

个人职业规划(含前端职业+技术线路)

1. 了解自己的兴趣与长处 喜欢擅长的事 职业方向 2. 设定长期目标&#xff08;5年&#xff09; 目标内容 建立自己的品牌建立自己的社交网络 适量参加社交活动&#xff0c;认识更多志同道合的小伙伴寻求导师指导 建立自己的作品集 注意事项 每年元旦进行审视和调整永葆积极…...

LeetCode | 344.反转字符串

设置头尾两个指针&#xff0c;依靠中间变量temp交换头尾指针所指元素&#xff0c;头指针后移&#xff0c;尾指针前移&#xff0c;直到头尾指针重合或者头指针在尾指针后面一个元素 class Solution(object):def reverseString(self, s):""":type s: List[str]:r…...

一步一步用numpy实现神经网络各种层

1. 首先准备一下数据 if __name__ "__main__":data np.array([[2, 1, 0],[2, 2, 0],[5, 4, 1],[4, 5, 1],[2, 3, 0],[3, 2, 0],[6, 5, 1],[4, 1, 0],[6, 3, 1],[7, 4, 1]])x data[:, :-1]y data[:, -1]for epoch in range(1000):...2. 实现SoftmaxCrossEntropy层…...

vue学习(二)

9.vue中的数据代理 通过vm对象来代理data对象中的属性操作&#xff08;读写&#xff09;&#xff0c;目的是为了更加方便操作data中的数据 基本原理&#xff1a;通过Object.defineProperty()把data对象所有属性添加到vm上&#xff0c;为每一个添加到vm上的属性&#xff0c;都增…...

Maven 介绍

Maven open in new window 官方文档是这样介绍的 Maven 的&#xff1a; Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a projects build, reporting and documentation fr…...

QT截图程序三-截取自定义多边形

上一篇文章QT截图程序&#xff0c;可多屏幕截图二&#xff0c;增加调整截图区域功能-CSDN博客描述了如何截取&#xff0c;具备调整边缘功能后已经方便使用了&#xff0c;但是与系统自带的程序相比&#xff0c;似乎没有什么特别&#xff0c;只能截取矩形区域。 如果可以按照自己…...

Unity的三种Update方法

1、FixedUpdate 物理作用——处理物理引擎相关的计算和刚体的移动 (1) 调用时机&#xff1a;在固定的时间间隔内&#xff0c;而不是每一帧被调用 (2) 作用&#xff1a;用于处理物理引擎的计算&#xff0c;例如刚体的移动和碰撞检测 (3) 特点&#xff1a;能更准确地处理物理…...

[Python学习篇] Python字典

字典是一种可变的、无序的键值对&#xff08;key-value&#xff09;集合。字典在许多编程&#xff08;Java中的HashMap&#xff09;任务中非常有用&#xff0c;因为它们允许快速查找、添加和删除元素。字典使用花括号 {} 表示。字典是可变类型。 语法&#xff1a; 变量 {key1…...

react项目中如何书写css

一&#xff1a;问题&#xff1a; 在 vue 项目中&#xff0c;我们书写css的方式很简单&#xff0c;就是在 .vue文件中写style标签&#xff0c;然后加上scope属性&#xff0c;就可以隔离当前组件的样式&#xff0c;但是在react中&#xff0c;是没有这个东西的&#xff0c;如果直…...

PostgreSQL源码分析——绑定变量

这里分析一下函数中应用绑定变量的问题&#xff0c;但实际应用场景中&#xff0c;不推荐这么使用。 prepare divplan2(int,int) as select div($1,$2); execute divplan2(4,2);语法解析 分别分析prepare语句以及execute语句。 gram.y中定义 /******************************…...

Zynq学习笔记--了解中断配置方式

目录 1. 简介 2. 工程与代码解析 2.1 Vivado 工程 2.2 Vitis 裸机代码 2.3 关键代码解析 3. 总结 1. 简介 Zynq 中的中断可以分为以下几种类型&#xff1a; 软件中断&#xff08;Software Generated Interrupt, SGI&#xff09;&#xff1a;由软件触发&#xff0c;通常…...

吴恩达机器学习 第二课 week2 多分类问题

目录 01 学习目标 02 实现工具 03 概念与原理 04 应用示例 05 总结 01 学习目标 &#xff08;1&#xff09;理解二分类与多分类的原理区别 &#xff08;2&#xff09;掌握简单多分类问题的神经网络实现方法 &#xff08;3&#xff09;理解多分类问题算法中的激活函数与损失…...

静态分析告警太多却不会归类?教你用5步法精准识别3类高危缺陷:内存泄漏、未初始化、整数溢出

第一章&#xff1a;静态分析告警泛滥的根源与嵌入式C语言特殊性静态分析工具在嵌入式C项目中常产生海量告警&#xff0c;其中大量为误报或低风险提示&#xff0c;严重稀释真实缺陷信号。这一现象并非工具能力不足&#xff0c;而是源于嵌入式C语言固有的语义模糊性、硬件耦合性及…...

09年408真题解析6~10题

选B&#xff1a;选A。I 每条边贡献2度。II 边数最少n-1&#xff0c;最多n&#xff08;n-1&#xff09;/2&#xff0c;大于等于III 可以没有选D&#xff0c;D是B树选A。 冒泡排序&#xff1a; 从左到右两两相邻比较&#xff0c;如果左边 > 右边就交换&#xff0c;每一轮把当前…...

AI绘画神器:李慕婉-仙逆-造相Z-Turbo开箱即用,快速生成李慕婉图片

AI绘画神器&#xff1a;李慕婉-仙逆-造相Z-Turbo开箱即用&#xff0c;快速生成李慕婉图片 1. 镜像简介与特色 1.1 专为李慕婉角色定制的AI绘画工具 李慕婉-仙逆-造相Z-Turbo是一款基于Xinference部署的专用文生图模型服务&#xff0c;专注于生成《仙逆》中李慕婉角色的高质量…...

Xingzhi-Cube-0.85TFT-ML307:构建AI语音交互终端的物联网开发平台

Xingzhi-Cube-0.85TFT-ML307&#xff1a;构建AI语音交互终端的物联网开发平台 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 核心价值&#xff1a;重新定义边缘智能交互 想象一个能够理解…...

西门子PLC与组态王联手打造水泥混凝土自动配料系统:动态视频组态界面+脚本应用

西门子PLC和组态王组态自动配料系统的设计水泥混凝土&#xff0c;以实际视频组态界面为准&#xff0c;带脚本车间里的搅拌机轰隆隆转着&#xff0c;水泥灰在传送带上扬起细密的粉尘。老王叼着烟头蹲在控制柜旁边&#xff0c;突然扭头冲我喊&#xff1a;"这破系统又卡在骨料…...

年复合增速14.4%!车载图像传感器市场稳健扩容,六年后规模剑指683.8亿元

据恒州诚思调研统计&#xff0c;2025年全球车载图像传感器市场规模约达268.7亿元&#xff0c;预计未来将持续保持平稳增长态势&#xff0c;到2032年市场规模将接近683.8亿元&#xff0c;未来六年复合年均增长率&#xff08;CAGR&#xff09;为14.4%。在汽车智能化加速推进的当下…...

Qwen3.5-9B视觉语言模型实战:教育课件解析+习题生成+讲解视频脚本

Qwen3.5-9B视觉语言模型实战&#xff1a;教育课件解析习题生成讲解视频脚本 1. 模型概述与核心能力 Qwen3.5-9B是通义千问团队推出的新一代多模态大模型&#xff0c;在教育领域展现出强大的应用潜力。该模型采用创新的混合架构设计&#xff0c;能够同时处理视觉和语言信息&am…...

Pixel Dimension Fissioner企业应用:合同条款的‘法律效力保留型’改写与风险提示注入

Pixel Dimension Fissioner企业应用&#xff1a;合同条款的法律效力保留型改写与风险提示注入 1. 产品核心价值与应用场景 Pixel Dimension Fissioner&#xff08;维度裂变器&#xff09;是一款专为企业法务场景设计的智能文本处理工具&#xff0c;其核心价值在于&#xff1a…...

编码学习课后感

编码学习课后感通过编码学习课程&#xff0c;我深刻认识到编码是连接人类语言与计算机世界的桥梁&#xff0c;是信息传递的核心基础。课程从ASCII、Unicode等字符编码讲起&#xff0c;让我明白计算机无法直接识别文字&#xff0c;必须通过编码规则将字符转换为二进制数据。早期…...

GitLab Merge Request全攻略:从权限配置到高级筛选(含避坑指南)

GitLab Merge Request全攻略&#xff1a;从权限配置到高级筛选&#xff08;含避坑指南&#xff09; 在团队协作开发中&#xff0c;代码合并请求&#xff08;Merge Request&#xff0c;简称MR&#xff09;是保证代码质量的重要环节。作为GitLab管理员或团队负责人&#xff0c;掌…...