Vue开发实例(05)之搭建项目主页面头部、导航、主体等页面布局

本文介绍了如何使用Vue和Element-ui搭建常见的管理系统的页面布局,包括Header、Aside、Main和Footer,并通过解决footer空白问题展示了全局CSS的使用。同时,创建了Header组件,利用flex布局实现了头部的分栏显示。最后,提供了下一节将在Header上添加更多功能的预告。
摘要由CSDN通过智能技术生成

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手、带你飞!
即使你并非前端开发人员,对前端的开发流程进行一定的了解也是很有必要的,谁也不确定公司以后会不会让我做前端去,做些简单的实例既不需要花费很多时间,也可以提高自己的自信和成就感,所以跟着明哥走,没有错,来吧!

导航

✪  Vue开发实例目录总索引
上一篇【04】更换项目入口
下一篇【06】Vue3注册Element-ui报错解决

概述

因为很多项目都是类似管理系统的界面,最上面是头部、左边是导航菜单、右边是主体页面、下方是Footer的框架结构,所以在学习过程中,我们也就按照这个方式来搭建,就比如下面这样的,今天就类似搭建一个这样的框架结构。

在这里插入图片描述

Container 布局容器介绍

用于布局的容器组件,方便快速搭建页面的基本结构:

组件名描述
<el-container>外层容器。当子元素中包含 <el-header>
或 <el-footer> 时,全部子元素会垂直上下排列,
否则会水平左右排列。
<el-header>顶栏容器。
<el-aside>侧边栏容器。
<el-main>主要区域容器。
<el-footer>底栏容器。

以上组件采用了 flex 布局,使用前请确定目标浏览器是否兼容。此外,<el-container> 的子元素只能是后四者,后四者的父元素也只能是 <el-container>。

创建布局

修改上节中的Index.vue代码如下:

<template>
  <div>
    <el-container>
      <el-header>Header</el-header>
      <el-container>
        <el-aside width="200px">Aside</el-aside>
        <el-main>Main</el-main>
      </el-container>
      <el-footer>Footer</el-footer>
    </el-container>
  </div>
</template>

<script>
export default {
  name: 'Index',
  props: {
    msg: String
  }
}
</script>
<style>
  .el-header, .el-footer {
    background-color: #B3C0D1;
    color: #333;
    text-align: center;
    line-height: 60px;
  }

  .el-aside {
    background-color: #D3DCE6;
    color: #333;
    text-align: center;
    line-height: 200px;
  }

  .el-main {
    background-color: #E9EEF3;
    color: #333;
    text-align: center;
  }

  body > .el-container {
    margin-bottom: 40px;
  }
</style>

查看页面效果:
在这里插入图片描述
有个问题,就是footer下方还有很大的空白

原因:布局器没有铺满

布局器铺满屏幕

  1. 创建全局css文件
    在src–assets–css创建global.css 文件,代码如下:
*{
    margin:0;
    padding:0;
    box-sizing: border-box;
    height: 100%;
}

这里主要是用到了:height: 100%;
其他的是为了把其他空格占位去除,为后面的代码做准备。

  1. 在main.js 中注册此全局的css文件

import ‘@/assets/css/global.css’;

  1. 圆满解决
    在这里插入图片描述

创建Header页面

  1. 新建一个Header.vue,如果你的IDEA在新建的时候没有Vue,则表示你需要安装Vue的插件,很简单参考我之前的一篇文章《IDEA常用插件》,建议先下载好,再本地安装,然后重启IDEA就可以了。
    在这里插入图片描述
  2. 编写代码 Header.vue
    采用flex布局,讲头部分成左、中、右3个部分。
<template>
    <div style="display:flex;">
        <div style="width: 200px;">头部</div>
        <div style="flex:1"></div>
        <div style="width: 100px;">欢迎</div>
    </div>
</template>

<script>
    export default {
        name: "Header"
    }
</script>

<style scoped>

</style>
  1. 修改Index.vue
  • 使用 import Header from “./Header”;
  • 在export中加入 components: {Header}
  • 在template的el-header中使用 Header 组件

完整代码如下:

<template>
  <div>
    <el-container>
      <el-header><Header/></el-header>
      <el-container>
        <el-aside width="200px">Aside</el-aside>
        <el-main>Main</el-main>
      </el-container>
      <el-footer>Footer</el-footer>
    </el-container>
  </div>
</template>

<script>
import Header from "./Header";

export default {
  name: 'Index',
  components:{Header},
  props: {
    msg: String
  }
}
</script>
<style>
  .el-header, .el-footer {
    background-color: #B3C0D1;
    color: #333;
    text-align: center;
    line-height: 60px;
  }

  .el-aside {
    background-color: #D3DCE6;
    color: #333;
    text-align: center;
    line-height: 200px;
  }

  .el-main {
    background-color: #E9EEF3;
    color: #333;
    text-align: center;

  }

  body > .el-container {
    margin-bottom: 40px;
  }
</style>

运行效果,头部页面已经加载进来了
在这里插入图片描述

这次先说到这里,下节在 Header上实现具体的一些东西。

小结

这节总结了“搭建项目主页面头部、导航、主体等页面布局”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
请到文章下方帮忙【一键三连】谢谢哈!

在这里插入图片描述

导航

✪  Vue开发实例目录总索引
上一篇【04】更换项目入口
下一篇【06】Vue3注册Element-ui报错解决

热门专栏推荐

【1】Java小游戏(俄罗斯方块、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】IDEA从零到精通
在这里插入图片描述

  • 44
    点赞
  • 198
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
### 回答1: Vue项目的登录界面源码可以通过以下步骤实现: 1. 创建一个名为LoginPage.vueVue组件文件。 2. 在组件的template标签下编写登录界面的HTML结构,例如输入框和登录按钮等。 3. 在组件的data属性下定义需要的数据,例如用户名和密码。 4. 在组件的methods属性下定义登录方法,该方法会在用户点击登录按钮时被调用。 5. 在登录方法中,可以通过调用后端API向服务器发送登录请求,例如使用axios库发送POST请求。 6. 在登录方法中,可以通过在请求成功的回调函数中进行登录成功的处理,例如存储用户信息到浏览器的local storage中,或者跳转到首页等。 7. 在登录方法中,可以通过在请求失败的回调函数中进行登录失败的处理,例如显示错误提示信息给用户等。 8. 在组件的style标签下编写登录界面的样式,可以使用CSS或者预处理器如SASS等。 9. 在需要使用登录界面的地方导入并渲染LoginPage组件,例如在App.vue的template标签中使用。 以上就是Vue项目登录界面源码的基本实现步骤,可以根据具体的需求和UI设计进行修改和扩展。 ### 回答2: Vue项目登录界面源码是用Vue框架实现的一个用户登录页面。以下给出一个简单的示例源码: ```html <template> <div> <h1>用户登录</h1> <form @submit.prevent="login"> <input type="text" v-model="username" placeholder="用户名"> <input type="password" v-model="password" placeholder="密码"> <button type="submit">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 在这里可以编写登录逻辑,比如发送用户名和密码到服务器进行验证 if (this.username === 'admin' && this.password === '123456') { alert('登录成功'); } else { alert('用户名或密码错误'); } } } } </script> <style scoped> h1 { text-align: center; } form { display: flex; flex-direction: column; align-items: center; margin-top: 20px; } input { margin-bottom: 10px; } button { padding: 10px; } </style> ``` 这段源码中,首先通过`<template>`标签定义了登录界面的HTML结构,包括一个表单、用户名和密码的输入框以及登录按钮。` 通过`v-model`指令将输入框的值与`data`中的对应属性进行双向数据绑定。 接下来通过`<script>`标签定义了Vue组件的JavaScript逻辑。在`data`中定义了`username`和`password`两个属性,用于保存输入框的值。`login`方法用于处理登录逻辑,这里只是简单的判断用户名和密码是否为预设的值,给出相应的提示。 最后通过`<style scoped>`标签定义了局部样式,用于美化界面。这里使用了Flex布局将表单元素垂直居中,并设置了一些基本样式。 以上就是一个简单的Vue项目登录界面的源码示例。 ### 回答3: Vue项目登录界面源码如下: ```vue <template> <div class="login-container"> <h2 class="title">欢迎登录</h2> <form class="login-form"> <div class="form-group"> <label for="username">用户名</label> <input type="text" id="username" v-model="username" required> </div> <div class="form-group"> <label for="password">密码</label> <input type="password" id="password" v-model="password" required> </div> <button class="login-btn" @click="login">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 在这里编写登录逻辑,可以使用axios发送登录请求到后端API // 根据登录结果进行相应的跳转或展示错误信息等处理 } } } </script> <style scoped> .login-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; } .title { font-size: 24px; margin-bottom: 20px; } .login-form { display: flex; flex-direction: column; align-items: flex-start; } .form-group { margin-bottom: 10px; } label { display: block; } input { width: 200px; padding: 5px; } .login-btn { margin-top: 10px; padding: 10px 20px; background-color: #428bca; color: #fff; border: none; text-transform: uppercase; cursor: pointer; } </style> ``` 以上代码为一个简单的登录界面组件的Vue源码。页面包含一个欢迎标题、用户名和密码输入框以及登录按钮。页面利用Vue的双向数据绑定技术,将输入的用户名和密码绑定到了组件的data中的username和password属性上。登录按钮绑定了一个click事件,点击按钮后触发login方法,可以在该方法内编写登录逻辑,如使用axios库发送登录请求到后端API,根据登录结果进行相应的跳转或展示错误信息等处理。样式部分使用了CSS样式,实现了一个简单的居中布局和基本的表单样式。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程界小明哥

请博主喝瓶水,博主持续输出!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值