自定义登录页面模板(移动端)

login/index

<script setup lang="ts">
</script>

<template>
  <div class="login-page">
  //组件 由于配置了自动注册,所以无需引入
    <cp-nav-bar
      right-text="注册"
      @click-right="$router.push('/register')"
    ></cp-nav-bar>
    <!-- 头部 -->
    <div class="login-head">
      <h3>密码登录</h3>
      <a href="javascript:;">
        <span>短信验证码登录</span>
        <van-icon name="arrow"></van-icon>
      </a>
    </div>
    <!-- 表单 -->
    <van-form autocomplete="off">
      <van-field placeholder="请输入手机号" type="tel"></van-field>
      <van-field placeholder="请输入密码" type="password"></van-field>
      <div class="cp-cell">
        <van-checkbox>
          <span>我已同意</span>
          <a href="javascript:;">用户协议</a>
          <span></span>
          <a href="javascript:;">隐私条款</a>
        </van-checkbox>
      </div>
      <div class="cp-cell">
        <van-button block round type="primary">登 录</van-button>
      </div>
      <div class="cp-cell">
        <a href="javascript:;">忘记密码?</a>
      </div>
    </van-form>
    <!-- 底部 -->
    <div class="login-other">
      <van-divider>第三方登录</van-divider>
      <div class="icon">
        <img src="@/assets/qq.svg" alt="" />
      </div>
    </div>
  </div>
</template>

<style lang="scss" scoped>
.login {
     
  &-page {
     
    padding-top: 46px;
  }
  &-head {
     
    display: flex;
    padding: 30px 30px 50px;
    justify-content: space-between;
    align-items: flex-end;
    line-height: 1;
    h3 {
     
      font-weight: normal;
      font-size: 24px;
    }
    a {
     
      font-size: 15px;
    }
  }
  &-other {
     
    margin-top: 60px;
    padding: 0 30px;
    .icon {
     
      display: flex;
      justify-content: center;
      img {
     
        width: 36px;
        height: 36px;
        padding: 4px;
      }
    }
  }
}
.van-form {
     
  padding: 0 14px;
  .cp-cell {
     
    height: 52px;
    line-height: 24px;
    padding: 14px 16px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    .van-checkbox {
     
      a {
     
        color: var(--cp-primary);
        padding: 0 5px;
      }
    }
  }
  .btn-send {
     
    color: var(--cp-primary);
    &.active {
     
      color: rgba(22, 194, 163, 0.5);
    }
  }
}
</style>

在这里插入图片描述
全局配置main.scss

:root {
   
  // 问诊患者:色板
  --cp-primary: #16C2A3;
  --cp-plain: #EAF8F6;
  --cp-orange: #FCA21C;
  --cp-text1: #121826;
  --cp-text2: #3C3E42;
  --cp-text3: #6F6F6F;
  --cp-tag: #848484;
  --cp-dark: #979797;
  --cp-tip: #C3C3C5;
  --cp-disable: #D9DBDE;
  --cp-line: #EDEDED;
  --cp-bg: #F6F7F9;
  --cp-price: #EB5757;
    // 覆盖vant主体色
    --van-primary-color: var(--cp-primary);
    // 单元格上下间距
    --van-cell-vertical-padding: 14px;
    // 复选框大小
    --van-checkbox-size: 14px;
    // 默认按钮文字大小
    --van-button-normal-font-size: 16px;
  
}

// 全局样式
body {
   
  font-size: 14px;
  color: var(--cp-text1);
}
a {
   
  color: var(--cp-text2);
}
h1,h2,h3,h4,h5,h6,p,ul,ol {
   
  margin: 0;
  padding: 0;
}


相关推荐

  1. 第八节:Vben Admin登录页面定义

    2023-12-07 10:18:05       21 阅读
  2. 移动】Flutter 定义高德地图比例尺

    2023-12-07 10:18:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 10:18:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 10:18:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 10:18:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 10:18:05       18 阅读

热门阅读

  1. Kubernetes+istio部署bookinfo、Online boutique和sock shop

    2023-12-07 10:18:05       33 阅读
  2. ios 逆向分分析,某业帮逆向算法(二)

    2023-12-07 10:18:05       38 阅读
  3. python使用flask框架实现http服务处理

    2023-12-07 10:18:05       36 阅读
  4. Redis 底层数据结构 - 简单动态字符串

    2023-12-07 10:18:05       31 阅读
  5. 【ML】LSTM应用——预测股票(基于 tensorflow2)

    2023-12-07 10:18:05       39 阅读
  6. ffmpeg 同时采集麦克风和摄像头并录制文件

    2023-12-07 10:18:05       24 阅读
  7. RDMA编程实例rdma_cm API

    2023-12-07 10:18:05       25 阅读