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

news2024/11/16 16:55:50

目录

一、创建登录页面

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

三、编写登录页代码

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>

结束~ 

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CPU1511作为CPU1513的智能IO设备

一、把一个IO控制器作为另一个IO控制器的IO设备来使用 1、在智能设备通信里定义好传输区后&#xff0c;导出GSD文件 2、在另一个项目程序内添加GSD文件 3、当作PLC的IO设备组态&#xff0c;并连接至PLC_1 4、在右侧更改I区、Q区地址与名称 5、硬件编译并下载&#xff0c;此…

天翼云服务器80、443等特殊端口无法访问原因记录

之前阿里云、腾讯云的服务器上&#xff0c;想要用域名访问项目简单配置就好了&#xff0c;这次甲方直接买的翼云的服务器&#xff0c;配置了半天&#xff0c;防火墙端口80、443端口开放了&#xff0c;控制台安全组也添加了&#xff0c;就是不能用域名或IP直接访问&#xff0c;配…

深入解析与解决高并发下的线程池死锁问题

问题背景 在现代互联网应用中&#xff0c;高并发场景是常态&#xff0c;为了高效处理大量用户请求&#xff0c;后端服务通常会采用线程池来管理线程资源。然而&#xff0c;在一个复杂的微服务架构项目中&#xff0c;我们遇到了一个棘手的问题&#xff1a;在业务高峰期&#xf…

解锁分布式云多集群统一监控的云上最佳实践

作者&#xff1a;在峰 引言 在当今数字化转型加速的时代&#xff0c;随着混合云、多云多集群环境等技术被众多企业广泛应用&#xff0c;分布式云架构已成为众多企业和组织推动业务创新、实现弹性扩展的首选&#xff0c;分布式云容器平台 ACK One&#xff08;Distributed Clou…

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式、优化电子表格的协作等等

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、引言二、ONLYOFFICE简介1. 文档编辑器2. 电子表格编辑器3. 演示文稿编辑器4. 项目管理5. 邮件和日历6. 客户关系管理&#xff08;CRM&#xff09;7. 安全性和权限管理8. 多平台和第三方集成 三、安装1. Windows/Mac 安装…

斯坦福大学 AI 研究部门推出的“7 周人工智能学习计划”

①AI Python 基础&#xff0c;包括计算机原理、语法、判断语句等&#xff1b; ②AI Python 进阶&#xff0c;涉及 Linux 命令、多任务编程等&#xff1b; ③机器学习&#xff0c;涵盖算法、数据结构等&#xff1b; ④计算机视觉与图像处理&#xff0c;包含图像分类、目标检测…

每日鲜语携手中国国家高尔夫球队队员殷若宁征战巴黎,打响中国高端鲜奶品牌“鲜”声量

近日&#xff0c;高端鲜奶品牌每日鲜语宣布携手蒙牛品牌代言人、中国国家高尔夫球队队员殷若宁&#xff0c;共赴巴黎奥运赛场&#xff0c;为梦想挥杆而上。邀请众多消费者开启高品质、健康的生活方式。此举不仅彰显了每日鲜语作为高端鲜奶新标杆的品牌定位&#xff0c;也同时延…

COMSOL Multiphysics物理模拟软件 下载安装,COMSOL Multiphysics 卓越的模拟性能

COMSOL Multiphysics&#xff0c;它不仅具备卓越的模拟性能&#xff0c;还以其创新的多物理场耦合分析能力&#xff0c;为各类复杂问题提供了前所未有的解决方案。 这款软件的出现&#xff0c;犹如为科研工作者和工程师们插上了一双智慧的翅膀&#xff0c;使他们能够在物理世界…

RubyMine 2024 mac/win版:智慧编程,从心出发

JetBrains RubyMine 2024 是一款专为Ruby和Rails开发者打造的高效集成开发环境(IDE)。它凭借其卓越的性能和丰富的功能&#xff0c;帮助开发者在Ruby和Rails的开发过程中提升效率&#xff0c;减少错误。 RubyMine 2024 mac/win版获取 RubyMine 2024 提供了强大的代码编辑功能&…

VR加密方案常见问题有哪些?

在数字化时代&#xff0c;随着虚拟现实&#xff08;VR&#xff09;技术的迅速发展与普及&#xff0c;VR视频内容的安全传输成为关注焦点。为保护版权及敏感信息免遭非法复制或篡改&#xff0c;VR视频加密技术显得尤为重要。 首先&#xff0c;高效的加密算法对确保数据安全性至关…

60.Python-web框架-Django手动删除了一个数据库表,migrate问题

目录 1.问题产生 2.解决方法&#xff1a; 1.问题产生 今天手欠&#xff0c;删了一个数据库表&#xff0c;然后迁移不进来了。 当你在Django项目中手动删除了数据库模型&#xff08;models&#xff09;的表后&#xff0c;想要Django通过makemigrations命令重新创建或识别这些更…

第四届机械设计与智能制造国际会议(MDSM2024)

第四届机械设计与智能制造国际会议(MDSM2024) 4th International Conference on Mechanical Design and Smart Manufacturing 会议日期&#xff1a;2024年8月23-25日 会议地点&#xff1a;中国-武汉 会议官网&#xff1a;https://www.iaast.cn/meet/home/Bx118v7D 【支持单位】…

Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻、直播带货及免费小程序商城搭建

用技术&#xff1a; Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台&#xff1a; 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务&#xff08;30个通用微服务如&#xff1a;商品、订单、购物车、个人中心、支付…

C语言结构体包含结构体

C语言结构体可以包含另一个结构体&#xff1b; 下面通过一个例子看一下&#xff1b; struct Date {int day;int month;int year; };struct Person {char *name;struct Date birthday; }; ...... void CTestView::OnDraw(CDC* pDC) {CTestDoc* pDoc GetDocument();ASSERT_VAL…

.NET也能玩量化【2】搭建本地财经数据获取服务,以及获取复权历史大A数据演示...

直接动手&#xff0c;不写前言了。 创建.NET 8的一个webapi项目备用 本地安装python库 aktools 输安装完毕以后&#xff0c;输入 python -m aktools 即可启动有关服务 启动以后&#xff0c;主页地址&#xff1a;http://127.0.0.1:8080/ 查看swwager的api文档说明。我们主要使用…

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先&#xff0c;必须保证Canvas画布的渲染模式为了相机渲染 方法:一&#xff1a;将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统&#xff0c;和两张Sprite. 2.设置Sprite1的Order in Layer为 -1&#xff0c;设置Sprite2的Order in Layer为 1&#xff0c;粒子的Ord…

ANSYS Electronics 电磁场仿真工具下载安装,ANSYS Electronics强大的功能和灵活性

ANSYS Electronics无疑是一款在电磁场仿真领域表现卓越的软件工具。它凭借强大的功能和灵活性&#xff0c;帮助用户在产品设计阶段就能精确预测和优化电磁场性能&#xff0c;从而极大地降低了实际测试成本&#xff0c;并显著提升了产品的可靠性。 这款软件不仅在电子设计领域有…

【专利】一种光伏产品缺陷检测AI深度学习算法

申请号CN202410053849.9公开号&#xff08;公开&#xff09;CN118037635A申请日2024.01.12申请人&#xff08;公开&#xff09;超音速人工智能科技股份有限公司发明人&#xff08;公开&#xff09;张俊峰(总); 叶长春(总); 廖绍伟 摘要 本发明公开一种光伏产品缺陷检测AI深度…

破解App推广困局:Xinstall如何助力游戏盒子代理快速扩大用户池?

在互联网流量日益分散的今天&#xff0c;游戏盒子代理推广面临着前所未有的挑战。如何迅速搭建起能时刻满足用户需求的运营体系&#xff0c;成为了众多企业急待解决的问题。Xinstall作为一款专业的App推广和运营工具&#xff0c;凭借其强大的功能和独特优势&#xff0c;为游戏盒…

ONLYOFFICE 编辑器8.1,一个功能全面的编辑器

目录 官网地址&#xff1a;ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 一、PDF编辑 二、PPT播放 1. 多样化的幻灯片样式与布局 2. 强大的文本编辑与格式化功能 3. 丰富的图形与图表插入功能 4. 灵活的过渡效果与动画设置 5. 舒适的呈现与演讲辅助功能 6. 便捷的团…