首页 > 其他分享 >Login页面

Login页面

时间:2024-03-28 13:32:16浏览次数:24  
标签:flex vue element plus import Login login 页面

目录

页面展示

一、引入element-plus

为什么要引入element-plus?

element-plus的配置

1、进行安装

2、自动导入

3、配置vite文件

sass的配置

Icon图标配置

1、进行下载

2、注册所有图标

二、Login页面

页面展示

一、引入element-plus

element-plus官网:

https://element-plus.gitee.io/zh-CN/

为什么要引入element-plus?

  1. 丰富的组件库: Element Plus 提供了丰富的 UI 组件,包括按钮、表单、对话框、表格、菜单等,这些组件可以帮助你快速构建出美观、功能丰富的用户界面。

  2. 符合现代设计风格: Element Plus 的组件设计符合现代的 UI 设计趋势,使得你的应用看起来更加专业和现代。

  3. 响应式布局: Element Plus 的组件库支持响应式设计,可以轻松适配不同大小的屏幕,使你的应用在各种设备上都能够良好地展现。

  4. 易于定制化: Element Plus 提供了丰富的主题定制选项,可以让你根据自己的需求定制应用的外观和风格。

  5. 完善的文档和社区支持: Element Plus 拥有完善的中英文文档,以及活跃的社区支持,如果在使用过程中遇到问题,可以方便地获取帮助和支持。

  6. 与 Vue 3 完美结合: Element Plus 是专为 Vue 3 设计的组件库,它充分利用了 Vue 3 的新特性,例如 Composition API,使得在 Vue 3 项目中使用 Element Plus 更加高效和便捷。

element-plus的配置

1、进行安装

官方建议:如果您的网络环境不好,建议使用相关镜像服务 cnpm 或 中国 NPM 镜像

npm install element-plus

2、自动导入

npm install -D unplugin-vue-components unplugin-auto-import

3、配置vite文件

然后把下列代码插入到你的 Vite 的配置文件中,(vite.config.ts文件)

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

sass的配置

Sass(Syntactically Awesome Stylesheets)是一种成熟、稳定且功能强大的 CSS 预处理器。它扩展了 CSS,为样式表提供了许多便利的功能,使得样式表更加易于编写和维护。

安装命令

npm install -D sass

完成了就可以使用element-plus组件库中的组件了

Icon图标配置

配置Icon主要是方便使用提供的图标库

1、进行下载

npm install @element-plus/icons-vue

2、注册所有图标

在mian.js文件中,需要从 @element-plus/icons-vue 中导入所有图标并进行全局注册。

// main.ts

// 如果您正在使用CDN引入,请删除下面一行。
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const app = createApp(App)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}

二、Login页面

在views包下创建Login.vue 文件。

<<template>
     <!-- 根div -->
     <div class="login_container">
        <div class="login_background">
        </div>
    
          <!-- 登陆表单 -->
          <div class="login_zhongform">
          <div class="login_form">
            <h3 class="title">海洋笔记</h3>
            <el-form ref="formRef" :model="loginForm">
                <!-- 用户名 -->
                <el-form-item>
                    <el-input v-model="loginForm.account" placeholder="请输入账号" >
                        <template #prefix>
                            <el-icon class="el-input__icon"><User /></el-icon>
                        </template>
                    </el-input>
                </el-form-item>
                <!-- 密码 -->
                <el-form-item>
                    <el-input v-model="loginForm.password" type="password" placeholder="请输入密码" >
                        <template #prefix>
                            <el-icon class="el-input__icon"><Lock /></el-icon>
                        </template>
                    </el-input>
                </el-form-item>
                <!-- 记住我和忘记密码 -->
                <div class="rememberMe">
                    <el-checkbox v-model="loginForm.rememberMe" label="记住我" size="large" />
                    <!-- 忘记密码 -->
                    <el-text class="forgetpass mx-1" type="primary">忘记密码?</el-text>
                </div>
                <!-- 分割线 -->
                <el-divider>其他登录方式</el-divider>
                
                <!-- 其他的登录方式 -->
                <div class="other_login">
                    <el-icon class="other_login_item"><ChromeFilled /></el-icon>
                    <el-icon class="other_login_item"><ElemeFilled /></el-icon>
                    <el-icon class="other_login_item"><WindPower /></el-icon>
                </div>
                <el-form-item>
                    <!-- 按钮 -->
                    <el-button style="width: 100%;" type="primary" >登陆</el-button>
                </el-form-item>
            </el-form>
            
        </div>
    </div>
    </div>
</template>

<script setup>
 // 导入 ref
 import { ref } from  'vue';
// 导入login方法
// import { login } from '@/api/auth/index.js';

    const loginForm = ref({
        account: undefined,
        password: undefined,
        rememberMe: undefined
    })
    
</script>

<style lang="scss" scoped>

.login_container { 
    display: flex; /* 使用flex布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    height: 97vh; /* 设置高度为视口高度 */
    .login_background{
        flex: 1;
        // 背景图
    background-image: url('../assets/background/1.jpg');
    background-size: 100% 100% ;
    // display: flex;
    // justify-content: flex-end;
    height: 97vh;
        
    }
}
.login_zhongform{
    // float: right;
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 使用flex布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    height: 97vh;  // 适当填充


    .login_form {
        display: flex;
        justify-content: center;
        align-items: center;
        //设置换行
        flex-direction: column;
        width: 90%;
        background-color: #fff;
        margin-top: -80px;
        float: right;
        // 设置 海洋笔记这个几个字
        .title {
            margin-bottom: 40px;
            font-size: 40px; /* 设置字体大小为24像素 */
        }
        //对表单输入框进行设置
        .el-input {
            height: 50px; /* 设置输入框的高度 */
        }
        .rememberMe {
            
            display: flex;
            justify-content: space-between;
            align-items: center;
            .forgetpass {
                cursor: pointer;
            }
        }
        // 其他登录
        .other_login {
            display: flex;
            justify-content: center;
            margin-bottom: 20px;
            .other_login_item {
                margin-right: 60px;
                cursor: pointer;
            }
        }

    }

}

    

// 设置form的宽度
.el-form {
    width: 70%;
}
.el-form-item {
    width: 100%;
}

</style>

标签:flex,vue,element,plus,import,Login,login,页面
From: https://blog.csdn.net/qq_51554230/article/details/136992582

相关文章

  • 第四章(页面组件)总结
    4.1一组件的定义及属性组件是页面视图层(WXML)的基本组成单元,组件组合可以构建功能强大的页面结构。小程序框架为开发者提供了容器视图、基础内容、表单、导航、多媒体、地图、画布、开放能力等8类(30多个)基础组件。每一个组件都由一对标签组成,有开始标签和结束标签,内容放置在开......
  • 第4章 页面组件
    一. 组件的定义及属性    1.1 语法格式如下: <标签名  属性名=“属性值” >内容....</标签名>  id 组件的唯一表示,保持整个页面唯一,不常用class 组件的样式类,对应WXSS中定义的样式  style组件的内联样式,可以动态设置内联样式......
  • tomcat 启动报错javax.naming.NameNotFoundException: 名称[xxx.LoginFilter/xxxServi
    本地测试没问题,部署到服务器上的tomcat,启动报错javax.naming.NameNotFoundException:名称[xxx.LoginFilter/xxxService]未在此上下文中绑定可能是由于在Tomcat的配置文件中,资源名称[xxxx]没有正确配置或者引用。为了解决这个问题,你可以尝试以下步骤:1、检查你的Tomcat配置文......
  • Android开发-Android APP实操-1.项目创建及启动页面UI编码
    一、项目创建及模拟器安装1.选择新建一个project2. 选择空模板3.完成新project的设置 下载完成后点击Finish4.下载安卓模拟器 选择Pixel7点击下载R 为虚拟机命名,选择竖屏,点击Finish.5.点击启动,测试运行 运行成功! 二、启动页面UI编码 1.打开Main......
  • 基于vite多页面实现多端同构开发和部署
    背景由于在开发前端项目中,后台管理端和用户端存在多个模块和页面逻辑可以复用,管理模块和用户端渲染模块使用同一套状态管理机制,只是在管理端和用户端的入口和路由模块不同,为了能够在开发时同时修改管理端和用户端共用模块,不用多项目工程修改和发布,我们基于vite多页面的基础上实现......
  • 浏览器工作原理与实践--渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的
    在上篇文章中,我们介绍了渲染流水线中的DOM生成、样式计算和布局三个阶段,那今天我们接着讲解渲染流水线后面的阶段。这里还是先简单回顾下上节前三个阶段的主要内容:在HTML页面内容被提交给渲染引擎之后,渲染引擎首先将HTML解析为浏览器可以理解的DOM;然后根据CSS样式表,计算出DOM......
  • 浏览器工作原理与实践--渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的
    在上一篇文章中我们介绍了导航相关的流程,那导航被提交后又会怎么样呢?就进入了渲染阶段。这个阶段很重要,了解其相关流程能让你“看透”页面是如何工作的,有了这些知识,你可以解决一系列相关的问题,比如能熟练使用开发者工具,因为能够理解开发者工具里面大部分项目的含义,能优化页面卡......
  • php:页面链接数据库(封装),其他页面引入方法
    数据库连接get_db_conn.php//创建连接$conn=mysqli_connect($servername,$username,$password,$dbname);<?php//数据库连接参数define('DB_SERVER','localhost');//数据库服务器的地址define('DB_USERNAME','root');//数据库账户define(......
  • 【前端素材】推荐5种优质大数据分析展示页面网站设计(16)(附源码)
    一、需求分析1、功能分析大数据分析展示页面是一个用于呈现和分析大数据的平台界面,旨在帮助用户更直观、更高效地理解和利用数据。该页面通常结合了数据分析、可视化技术以及用户交互设计,以提供丰富的数据展示和分析功能。大数据分析展示页面是大数据分析过程中至关重要的一......
  • 【前端素材】推荐5种优质大数据分析展示页面网站设计(18)(附源码)
    一、需求分析1、功能分析大数据分析展示页面是一个用于呈现和分析大数据的平台界面,旨在帮助用户更直观、更高效地理解和利用数据。该页面通常结合了数据分析、可视化技术以及用户交互设计,以提供丰富的数据展示和分析功能。大数据分析展示页面是大数据分析过程中至关重要的一......