Vue+Axios搭建二次元动态登录页面(mp4视频格式)

这篇具有很好参考价值的文章主要介绍了Vue+Axios搭建二次元动态登录页面(mp4视频格式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近想做一个前端登录页面,背景好看的,格式中规中矩的,这么难?我自己创一个吧!

效果图如下: 

Vue+Axios搭建二次元动态登录页面(mp4视频格式),前端,前端,javascript,开发语言,登录页面,Vue,Axios,服务器渲染

源码可以参考我的github,复制源码即可用:gym02/loginPage_Vue: 使用Vue+Axios搭建的动态登录网页,按钮和输入框渲染了动画,复制即可使用 (github.com)

(喜欢可以点个小星星start)评论区可以私我发这个mp4的背景图

html源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
  <script src="js/vue.js"></script>
  <!-- 引入样式 -->
  <link rel="stylesheet" href="css/elementui.css">
  <!-- 引入组件库 -->
  <script src="js/elementui.js"></script>
  <script src="js/axios.min.js"></script>
  <style>
    /*body {*/
    /*  background-image: url(/static/img/preview.gif);*/
    /*  background-repeat: no-repeat;*/
    /*  background-size: cover;*/
    /*  background-position: 0px -200px;*/
    /*}*/
                          .fullscreenvideo {
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            min-width: 100%;
                            min-height: 100%;
                            width: auto;
                            height: auto;
                            z-index: -100;
                            -webkit-transform: translateX(-50%) translateY(-50%);
                            transform: translateX(-50%) translateY(-50%);
                            -webkit-transition: 1s opacity;
                            transition: 1s opacity;
                          }

    .videocontainer{
      position: fixed;
      width: 100%;
      height: 100%;
      overflow: hidden;
      z-index: -100;
    }

    .videocontainer:before{
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      display: block;
      z-index: -1;
      top: 0;
      left: 0;
      background: rgba(0,0,0,0);
    }

    .login-box {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 400px;
      padding: 40px;
      transform: translate(-50%, -50%);
      background: rgba(0, 0, 0, .5);
      box-sizing: border-box;
      box-shadow: 0 15px 25px rgba(0, 0, 0, .6);
      border-radius: 10px;
    }

    .login-box h2 {
      margin: 0 0 30px;
      padding: 0;
      color: #fff;
      text-align: center;
    }

    .login-box .user-box {
      position: relative;
    }

    .login-box .user-box input {
      width: 100%;
      padding: 10px 0;
      font-size: 16px;
      color: #fff;
      margin-bottom: 30px;
      border: none;
      border-bottom: 1px solid #fff;
      outline: none;
      background: transparent;
    }

    .login-box .user-box label {
      position: absolute;
      top: 0;
      left: 0;
      padding: 10px 0;
      font-size: 16px;
      color: #fff;
      pointer-events: none;
      transition: .5s;
    }

    .login-box .user-box input:focus ~ label,
    .login-box .user-box input:valid ~ label {
      top: -20px;
      left: 0;
      color: #03e9f4;
      font-size: 12px;
    }

    .login-box form a {
      position: relative;
      display: inline-block;
      padding: 10px 20px;
      color: #03e9f4;
      font-size: 16px;
      text-decoration: none;
      text-transform: uppercase;
      overflow: hidden;
      transition: .5s;
      margin-top: 40px;
      letter-spacing: 4px
    }

    .login-box a:hover {
      background: #03e9f4;
      color: #fff;
      border-radius: 5px;
      box-shadow: 0 0 5px #03e9f4,
      0 0 25px #03e9f4,
      0 0 50px #03e9f4,
      0 0 100px #03e9f4;
    }

    .login-box a span {
      position: absolute;
      display: block;
    }

    .login-box a span:nth-child(1) {
      top: 0;
      left: -100%;
      width: 100%;
      height: 2px;
      background: linear-gradient(90deg, transparent, #03e9f4);
      animation: btn-anim1 1s linear infinite;
    }

    @keyframes btn-anim1 {
      0% {
        left: -100%;
      }
      50%, 100% {
        left: 100%;
      }
    }

    .login-box a span:nth-child(2) {
      top: -100%;
      right: 0;
      width: 2px;
      height: 100%;
      background: linear-gradient(180deg, transparent, #03e9f4);
      animation: btn-anim2 1s linear infinite;
      animation-delay: .25s
    }

    @keyframes btn-anim2 {
      0% {
        top: -100%;
      }
      50%, 100% {
        top: 100%;
      }
    }

    .login-box a span:nth-child(3) {
      bottom: 0;
      right: -100%;
      width: 100%;
      height: 2px;
      background: linear-gradient(270deg, transparent, #03e9f4);
      animation: btn-anim3 1s linear infinite;
      animation-delay: .5s
    }

    @keyframes btn-anim3 {
      0% {
        right: -100%;
      }
      50%, 100% {
        right: 100%;
      }
    }

    .login-box a span:nth-child(4) {
      bottom: -100%;
      left: 0;
      width: 2px;
      height: 100%;
      background: linear-gradient(360deg, transparent, #03e9f4);
      animation: btn-anim4 1s linear infinite;
      animation-delay: .75s
    }

    @keyframes btn-anim4 {
      0% {
        bottom: -100%;
      }
      50%, 100% {
        bottom: 100%;
      }
    }
  </style>

</head>
<body>
<div class="videocontainer">
  <video class="fullscreenvideo" playsinline="" autoplay="" muted="" loop="">
    <source src="./img/girl.mp4" type="video/mp4"><!-- 在这改路径即可直接食用 -->
  </video>
</div>

<div class="login-box">
  <h2>登录系统</h2>
  <form>
    <div class="user-box">
      <input type="text" name="" required="" v-model="user.username">
      <label>用户名</label>
    </div>
    <div class="user-box">
      <input type="password" name="" required="" v-model="user.password">
      <label>密码</label>
    </div>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <a @click="login()">
      <span></span>
      <span></span>
      <span></span>
      <span></span>
      登录
    </a>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <a >注册 </a>
  </form>
</div>
<script>
  new Vue({
    el:".login-box",
    data:{
      user:{
        username:'',
        password:''
      }
    },
    methods:{
      login(){
        axios.post("/user/login",this.user)
                .then(resp =>{
                  if(resp.data.code == 200){
                    window.location.href = "http://localhost:8080/index.html";
                    this.$message({
                      message: '登陆成功',
                      type: 'success'
                    });
                  }else{
                    this.$message({
                      message: '登陆失败',
                      type: 'error'
                    });
                  }
                })
      }
    }
  })
</script>

</body>
</html>

里面引入的各种css,js文件可以在上面我给出的github链接找到,复制下来。因为格式很大,这里不便分享。

需要背景图的可以评论区私我,有求必回!文章来源地址https://www.toymoban.com/news/detail-668747.html

到了这里,关于Vue+Axios搭建二次元动态登录页面(mp4视频格式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • video.cjs.js:440 VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPO在vue中使用vue-video-player动态获取url加载mp4

    首先说说我的问题吧、 一直显示不出来,后面换成这样的代码就行了; 大概就是这样、就是使用一个mp4都报错 一直显示不出来 正确使用方法在下面;看了好多博主的感觉都不行 videojs报错:No compatible source was found for this media. 分析: 在初始化时,没有在src中添加视频资源。

    2024年02月13日
    浏览(36)
  • VUE 好看的登录页面-动态视频背景

       

    2024年02月05日
    浏览(33)
  • CRMEB知识付费二次开发 加密阿里云视频MP4点播链接为m3u8格式 hls blob协议

    只有添加分发加速的域名才能使用HLS加密,同时也要做HTTPS证书添加,不然也会报错。 1、这是电脑端视频播放页面效果 2、这个手机端H5视频播放页面效果 3、在网站后台上传你的视频内容 4、上传完之后可以进行预览 5、在阿里云控制台设置就好自己的转码模板 将不转码设为

    2024年02月08日
    浏览(54)
  • vue+java实现在线播放mp4视频

    首先如果本地的mp4视频可以播放,但是在网页就显示视频格式不正确,可能原视频不是mp4格式的,更改后缀名为mp4了,但是在网页上还是无法播放。 可以用 ffmpeg转换视频格式。 一般遇到格式问题都是视频格式不对,需要专门的工具来转换 java: 读取本地视频文件的流然后给

    2024年02月12日
    浏览(51)
  • vue中axios的二次封装——vue 封装axios详细步骤

        api统一管理,不管接口有多少,所有的接口都可以非常清晰,容易维护。     通常我们的项目会越做越大,页面也会越来越多,如果页面非常的少,直接用axios也没有什么大的影响,那页面组件多了起来,上百个接口呢,这个时候后端改了接口,多加了一个参数什么的呢

    2024年02月02日
    浏览(48)
  • 快速搭建Python(Django)+Vue环境并实现页面登录注册功能

    选择一个要存放代码位置,使用cmd进入该位置,然后输入 npm init vue@lastest 创建vue项目 然后输入项目名称,其余都选择NO 创建好项目之后,使用cd命令进入创建好项目的目录 执行 npm install 命令即可创建好一个vue项目 vue项目的启动命令为 npm run dev 使用VsCode打开创建的项目,删

    2024年02月16日
    浏览(35)
  • Vue——axios的二次封装

    在 Vue 中,发送请求一般在 created 钩子中,当然放在 mounted 钩子中也没问题。 以下请求的前提都是安装了 axios,并且 import axios from \\\'axios\\\' 成功导入 Axios官网链接 get 请求传参,在地址里面通过 ?xxx=123 的形式 post 请求传参,在第二个参数里面传递 请求配置里面可以设置很多属性

    2024年02月11日
    浏览(46)
  • 使用Nginx代理访问服务器的.mp4文件,并使用Vue播放

    请参考:https://blog.csdn.net/yueyue763184/article/details/126776158?spm=1001.2014.3001.5502 进入 nginx0 容器: 查看 nginx.conf 配置文件位置: exit或者Ctrl+D退出容器,然后拷贝配置文件: 修改 nginx.conf 配置文件: 在/home/nginx/www目录下创建images文件夹,并上传.mp4文件在其下  接下来就可以删除n

    2024年02月13日
    浏览(39)
  • 【记录处理Vue项目中Video.js播放不了MP4视频Bug】

    在Vue项目中使用Video.js播放MP4视频。 在项目中使用Video.js播放MP4视频。视频采集上来存在数据库,前端使用Video.js对视频进行播放。突然有一天,MP4视频播放不了,并且报错: VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) No compatible source was found for this media. 并发现前一时间段采集到

    2024年04月14日
    浏览(48)
  • vue中支持txt,docx,xlsx,mp4格式文件预览(纯前端)

    在平常的工作当中,已经会遇到文件上传后需要预览的功能,比如docx,doc,xls,xlsx,ppt,pdf,txt,图片,视频等格式的文件,其实也可以让后端人员写接口解析,本着不想麻烦别人的心态,能自己解决的绝不麻烦别人,这里简单介绍txt,docx,xlsx,mp4文件预览。        1.在vue项目中安装a

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包