瞎折腾

说一下今儿我毕设登录界面干了啥

反正写出来也没人用,就是留着写个论文跑起来给老师看,所以我决定,去他的干净整洁中规中矩的常用配色界面风格,我想怎么玩就怎么玩,于是登录界面被我折腾成了这样:

 

 

特效简单不多,我比较喜欢它的颜色

特效

鼠标样式这个改了个默认,加了个点击效果代码如下

鼠标样子:

 

 

 

<style>
..............
      body {
       .......................
        cursor: url(https://cdn.jsdelivr.net/gh/fz6m/Private-web@1.5/image/cursor/normal.cur),
          default;
        cursor: url(https://files-cdn.cnblogs.com/files/zouwangblog/cursor.ico),
          auto;
      }
      a:hover {
        cursor: url(https://cdn.jsdelivr.net/gh/fz6m/Private-web@1.5/image/cursor/ayuda.cur)
            15 15,
          pointer;
      }

点击:

mose.js:

onload = function() {
  var click_cnt = 0,
    $html = document.getElementsByTagName('html')[0],
    $body = document.getElementsByTagName('body')[0]
  $html.onclick = function(e) {
    var $elem = document.createElement('b')
    ;($elem.style.color = '#FFC0CB'),
      ($elem.style.zIndex = 9999),
      ($elem.style.position = 'absolute'),
      ($elem.style.select = 'none')
    var x = e.pageX,
      y = e.pageY
    switch (
      (($elem.style.left = x - 10 + 'px'),
      ($elem.style.top = y - 20 + 'px'),
      clearInterval(anim),
      ++click_cnt)
    ) {
      case 2:
        $elem.innerText = '🍉'
        break
      case 4:
        $elem.innerText = 'OωO'
        break
      case 6:
        $elem.innerText = '🍋'
        break
      case 8:
        $elem.innerText = '(๑•́ ∀ •̀๑)'
        break
      case 10:
        $elem.innerText = '🍨'
        break
      case 12:
        $elem.innerText = '(๑•́ ₃ •̀๑)'
        break
      case 14:
        $elem.innerText = '🍤'
        break
      case 16:
        $elem.innerText = '(๑•̀_•́๑)'
        break
      case 18:
        $elem.innerText = '🍬'
        break
      case 20:
        $elem.innerText = '( ̄へ ̄)'
        break
      case 22:
        $elem.innerText = '🍺'
        break
      case 24:
        $elem.innerText = '(╯°口°)╯(┴—┴'
        break
      case 26:
        $elem.innerText = '🍥'
        break
      case 28:
        $elem.innerText = '૮( ᵒ̌皿ᵒ̌ )ა'
        break
      case 30:
        $elem.innerText = '🍮'
        break
      case 32:
        $elem.innerText = '╮(。>口<。)╭'
        break
      case 34:
        $elem.innerText = '🍓'
        break
      case 36:
        $elem.innerText = '( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃'
        break
      case 38:
        $elem.innerText = '🍇'
        break
      case 40:
        $elem.innerText = '🍉'
        break
      case 42:
        $elem.innerText = '(ꐦ°᷄д°᷅)'
        break
      case 44:
        $elem.innerText = '🍉'
        break
      case 46:
        $elem.innerText = 'OωO'
        break
      case 48:
        $elem.innerText = '🍋'
        break
      case 50:
        $elem.innerText = '(๑•́ ∀ •̀๑)'
        break
      case 52:
        $elem.innerText = '🍨'
        break
      case 54:
        $elem.innerText = '(๑•́ ₃ •̀๑)'
        break
      case 56:
        $elem.innerText = '🍤'
        break
      case 58:
        $elem.innerText = '(๑•̀_•́๑)'
        break
      case 60:
        $elem.innerText = '🍬'
        break
      case 62:
        $elem.innerText = '( ̄へ ̄)'
        break
      case 64:
        $elem.innerText = '🍺'
        break
      case 66:
        $elem.innerText = '(╯°口°)╯(┴—┴'
        break
      case 68:
        $elem.innerText = '🍥'
        break
      case 70:
        $elem.innerText = '૮( ᵒ̌皿ᵒ̌ )ა'
        break
      case 72:
        $elem.innerText = '🍮'
        break
      case 74:
        $elem.innerText = '╮(。>口<。)╭'
        break
      case 76:
        $elem.innerText = '🍓'
        break
      case 78:
        $elem.innerText = '( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃'
        break
      case 80:
        $elem.innerText = '🍇'
        break
      case 82:
        $elem.innerText = '🍉'
        break
      case 84:
        $elem.innerText = '(ꐦ°᷄д°᷅)'
        break
      default:
        $elem.innerText = '🌸'
    }
    $elem.style.fontSize = 10 * Math.random() + 8 + 'px'
    var increase = 0,
      anim
    setTimeout(function() {
      anim = setInterval(function() {
        150 == ++increase && (clearInterval(anim), $body.removeChild($elem)),
          ($elem.style.top = y - 20 - increase + 'px'),
          ($elem.style.opacity = (150 - increase) / 120)
      }, 8)
    }, 70),
      $body.appendChild($elem)
  }
}

底部文字跳动

<span class="my-face">{{ this.runTime }}ღゝ◡╹)ノ♡</span>

jump.css:

/* start */
.my-face {
  animation: my-face 5s infinite ease-in-out;
  color: #00f1ff;
  display: inline-block;
  margin: 0 5px;
}
@-webkit-keyframes my-face {
  2%,
  24%,
  80% {
    -webkit-transform: translate(0, 1.5px) rotate(1.5deg);
    transform: translate(0, 1.5px) rotate(1.5deg);
  }
  4%,
  68%,
  98% {
    -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);
    transform: translate(0, -1.5px) rotate(-0.5deg);
  }
  38%,
  6% {
    -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);
    transform: translate(0, 1.5px) rotate(-1.5deg);
  }
  8%,
  86% {
    -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);
    transform: translate(0, -1.5px) rotate(-1.5deg);
  }
  10%,
  72% {
    -webkit-transform: translate(0, 2.5px) rotate(1.5deg);
    transform: translate(0, 2.5px) rotate(1.5deg);
  }
  12%,
  64%,
  78%,
  96% {
    -webkit-transform: translate(0, -0.5px) rotate(1.5deg);
    transform: translate(0, -0.5px) rotate(1.5deg);
  }
  14%,
  54% {
    -webkit-transform: translate(0, -1.5px) rotate(1.5deg);
    transform: translate(0, -1.5px) rotate(1.5deg);
  }
  16% {
    -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);
    transform: translate(0, -0.5px) rotate(-1.5deg);
  }
  18%,
  22% {
    -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);
    transform: translate(0, 0.5px) rotate(-1.5deg);
  }
  20%,
  36%,
  46% {
    -webkit-transform: translate(0, -1.5px) rotate(2.5deg);
    transform: translate(0, -1.5px) rotate(2.5deg);
  }
  26%,
  50% {
    -webkit-transform: translate(0, 0.5px) rotate(0.5deg);
    transform: translate(0, 0.5px) rotate(0.5deg);
  }
  28% {
    -webkit-transform: translate(0, 0.5px) rotate(1.5deg);
    transform: translate(0, 0.5px) rotate(1.5deg);
  }
  30%,
  40%,
  62%,
  76%,
  88% {
    -webkit-transform: translate(0, -0.5px) rotate(2.5deg);
    transform: translate(0, -0.5px) rotate(2.5deg);
  }
  32%,
  34%,
  66% {
    -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);
    transform: translate(0, 1.5px) rotate(-0.5deg);
  }
  42% {
    -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);
    transform: translate(0, 2.5px) rotate(-1.5deg);
  }
  44%,
  70% {
    -webkit-transform: translate(0, 1.5px) rotate(0.5deg);
    transform: translate(0, 1.5px) rotate(0.5deg);
  }
  48%,
  74%,
  82% {
    -webkit-transform: translate(0, -0.5px) rotate(0.5deg);
    transform: translate(0, -0.5px) rotate(0.5deg);
  }
  52%,
  56%,
  60% {
    -webkit-transform: translate(0, 2.5px) rotate(2.5deg);
    transform: translate(0, 2.5px) rotate(2.5deg);
  }
  58% {
    -webkit-transform: translate(0, 0.5px) rotate(2.5deg);
    transform: translate(0, 0.5px) rotate(2.5deg);
  }
  84% {
    -webkit-transform: translate(0, 1.5px) rotate(2.5deg);
    transform: translate(0, 1.5px) rotate(2.5deg);
  }
  90% {
    -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);
    transform: translate(0, 2.5px) rotate(-0.5deg);
  }
  92% {
    -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);
    transform: translate(0, 0.5px) rotate(-0.5deg);
  }
  94% {
    -webkit-transform: translate(0, 2.5px) rotate(0.5deg);
    transform: translate(0, 2.5px) rotate(0.5deg);
  }
  0%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
}
@keyframes my-face {
  2%,
  24%,
  80% {
    -webkit-transform: translate(0, 1.5px) rotate(1.5deg);
    transform: translate(0, 1.5px) rotate(1.5deg);
  }
  4%,
  68%,
  98% {
    -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);
    transform: translate(0, -1.5px) rotate(-0.5deg);
  }
  38%,
  6% {
    -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);
    transform: translate(0, 1.5px) rotate(-1.5deg);
  }
  8%,
  86% {
    -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);
    transform: translate(0, -1.5px) rotate(-1.5deg);
  }
  10%,
  72% {
    -webkit-transform: translate(0, 2.5px) rotate(1.5deg);
    transform: translate(0, 2.5px) rotate(1.5deg);
  }
  12%,
  64%,
  78%,
  96% {
    -webkit-transform: translate(0, -0.5px) rotate(1.5deg);
    transform: translate(0, -0.5px) rotate(1.5deg);
  }
  14%,
  54% {
    -webkit-transform: translate(0, -1.5px) rotate(1.5deg);
    transform: translate(0, -1.5px) rotate(1.5deg);
  }
  16% {
    -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);
    transform: translate(0, -0.5px) rotate(-1.5deg);
  }
  18%,
  22% {
    -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);
    transform: translate(0, 0.5px) rotate(-1.5deg);
  }
  20%,
  36%,
  46% {
    -webkit-transform: translate(0, -1.5px) rotate(2.5deg);
    transform: translate(0, -1.5px) rotate(2.5deg);
  }
  26%,
  50% {
    -webkit-transform: translate(0, 0.5px) rotate(0.5deg);
    transform: translate(0, 0.5px) rotate(0.5deg);
  }
  28% {
    -webkit-transform: translate(0, 0.5px) rotate(1.5deg);
    transform: translate(0, 0.5px) rotate(1.5deg);
  }
  30%,
  40%,
  62%,
  76%,
  88% {
    -webkit-transform: translate(0, -0.5px) rotate(2.5deg);
    transform: translate(0, -0.5px) rotate(2.5deg);
  }
  32%,
  34%,
  66% {
    -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);
    transform: translate(0, 1.5px) rotate(-0.5deg);
  }
  42% {
    -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);
    transform: translate(0, 2.5px) rotate(-1.5deg);
  }
  44%,
  70% {
    -webkit-transform: translate(0, 1.5px) rotate(0.5deg);
    transform: translate(0, 1.5px) rotate(0.5deg);
  }
  48%,
  74%,
  82% {
    -webkit-transform: translate(0, -0.5px) rotate(0.5deg);
    transform: translate(0, -0.5px) rotate(0.5deg);
  }
  52%,
  56%,
  60% {
    -webkit-transform: translate(0, 2.5px) rotate(2.5deg);
    transform: translate(0, 2.5px) rotate(2.5deg);
  }
  58% {
    -webkit-transform: translate(0, 0.5px) rotate(2.5deg);
    transform: translate(0, 0.5px) rotate(2.5deg);
  }
  84% {
    -webkit-transform: translate(0, 1.5px) rotate(2.5deg);
    transform: translate(0, 1.5px) rotate(2.5deg);
  }
  90% {
    -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);
    transform: translate(0, 2.5px) rotate(-0.5deg);
  }
  92% {
    -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);
    transform: translate(0, 0.5px) rotate(-0.5deg);
  }
  94% {
    -webkit-transform: translate(0, 2.5px) rotate(0.5deg);
    transform: translate(0, 2.5px) rotate(0.5deg);
  }
  0%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
}
/* end */

 

 网页头

<script type="text/javascript">
      const changeFavicon = link => {
        let $favicon = document.querySelector('link[rel="icon"]')
        // If a <link rel="icon"> element already exists,
        // change its href to the given link.
        if ($favicon !== null) {
          $favicon.href = link
          // Otherwise, create a new element and append it to <head>.
        } else {
          $favicon = document.createElement('link')
          $favicon.rel = 'icon'
          $favicon.href = link
          document.head.appendChild($favicon)
        }
      }
      window.onfocus = function() {
        document.title = 'o(≧∇≦o) 200 OK!'
        let icon =
          'https://acg.blue/wp-content/themes/H-Siren/images/f-logo.png' // 图片地址fonts/favicon.ico
        changeFavicon(icon) // 动态修改网站图标
      }
      window.onblur = function() {
        document.title = '(●—●) 404 NOT FOUND'
        let icon =
          'https://acg.blue/wp-content/themes/H-Siren/images/f-logo.png' // 图片地址fonts/favicon.ico
        changeFavicon(icon) // 动态修改网站图标
      }
    </script>

 

页面底部显示当前时间以及已经运行时间

 

 

 

 

mounted() {
    // 页面加载完后显示当前时间
    this.realTime = this.dealWithTime(new Date())
    //网站运行的时间
    this.show_runtime(new Date())
    // 定时刷新时间
    let _this = this
    // 定时器
    this.timer = setInterval(function() {
      _this.realTime = _this.dealWithTime(new Date()) // 修改数据date
    }, 1000)
  },
  methods: {
    updateVerifyCode() {
      this.vcUrl = '/verifyCode?time=' + new Date()
    },
    submitLogin() {
      this.$refs.loginForm.validate(valid => {
        if (valid) {
          this.loading = true
          this.postRequest('/doLogin', this.loginForm).then(resp => {
            this.loading = false
            if (resp) {
              this.$store.commit('INIT_CURRENTHR', resp.obj)
              window.sessionStorage.setItem('user', JSON.stringify(resp.obj))
              let path = this.$route.query.redirect
              this.$router.replace(
                path == '/' || path == undefined ? '/home' : path
              )
            } else {
              this.vcUrl = '/verifyCode?time=' + new Date()
            }
          })
        } else {
          return false
        }
      })
    },
    show_runtime(data) {
      var that = this
      setTimeout(function() {
        that.show_runtime()
      }, 1000)
      let X = new Date('12/5/2020 16:00:00')
      let Y = new Date()
      let T = Y.getTime() - X.getTime()
      let M = 24 * 60 * 60 * 1000
      let a = T / M
      let A = Math.floor(a)
      let b = (a - A) * 24
      let B = Math.floor(b)
      let c = (b - B) * 60
      let C = Math.floor((b - B) * 60)
      let D = Math.floor((c - C) * 60)
      let runtime = A + '天' + B + '小时' + C + '分' + D + '秒'
      // console.log(runtime)
      that.runTime = runtime
      // return runtime
    },
    dealWithTime(data) {
      let formatDateTime
      let Y = data.getFullYear()
      let M = data.getMonth() + 1
      let D = data.getDate()
      let H = data.getHours()
      let Min = data.getMinutes()
      let S = data.getSeconds()
      let W = data.getDay()
      H = H < 10 ? '0' + H : H
      Min = Min < 10 ? '0' + Min : Min
      S = S < 10 ? '0' + S : S
      switch (W) {
        case 0:
          W = '天'
          break
        case 1:
          W = '一'
          break
        case 2:
          W = '二'
          break
        case 3:
          W = '三'
          break
        case 4:
          W = '四'
          break
        case 5:
          W = '五'
          break
        case 6:
          W = '六'
          break
        default:
          break
      }
      formatDateTime =
        Y + '年' + M + '月' + D + '日 ' + H + ':' + Min + ':' + S + ' 星期' + W
      return formatDateTime
    }
  },
  // 注意在vue实例销毁前,清除定时器。
  destroyed() {
    if (this.timer) {
      clearInterval(this.timer)
    }
  }

 

 

配色

 喜欢调整透明度,会有层次感,其次就是过渡色各种颜色,这个是页面感觉有点点少女心哈,因为做的是很老的题目,人力资源管理,不想写的冷冰冰的,喜欢这个按钮的颜色,像糖果,但有的时候自己调颜色一时半会儿找不到想要的,下面推荐几个配颜色的网站,觉得都可以

Fresh Background Gradients | WebGradients.com 💎        准备了180个线性渐变的免费集合         

在这里说一下文字渐变色样式,以我的代码为例,按钮渐变就可以直接用了,参考上面链接里面的过渡色可以直接copy css样式

 

<h3
   class="loginTitle"
   style="font-weight:bolder;
background-image: linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%);
-webkit-background-clip:text;color:transparent;"
> Welcome Back ! </h3>

 

 

Color Hunt - Color Palettes for Designers and Artists         

 

 Material Design Colors - Material Palette         可以很方便的选择每种颜色的不同浓度

 

 LOL Colors - Curated color palette inspiration 

 

芝兰紫 - 中国色 - 中国传统颜色            中国传统色,颜色丰富的不行

 

ColorDrop - New colors                

 

 

 

 

........................想他

 

posted @ 2020-12-05 17:28  fiamme  阅读(285)  评论(0编辑  收藏  举报