vue登录框半透明写法

<template>
<div>
    <div class="background">
        <img :src="imgSrc" width="100%" height="100%" alt=""/>
    </div>
    <div class="login_container"   >
        <!-- 登录块 -->
        <div class="login_box">
            <!-- 表单区域 -->
            <h2  >带电作业中心</h2>
            <el-form ref="loginFormRef" :model="loginForm"   :rules="loginRules" :v-model="login" class="login_form" label-width="0">
                <!-- 用户id -->
                <el-form-item prop="id">
                   <el-input v-model="loginForm.id" prefix-icon="iconfont icon-yonghu" class="in"></el-input>
                </el-form-item>
                <!-- 密码 -->
                <el-form-item  prop="password">
                   <el-input v-model="loginForm.password" prefix-icon="iconfont icon-mima"  show-password class="in"></el-input>
                </el-form-item>
                <!-- 按钮 -->
                <el-form-item  class="btns">
                   <el-button type="primary" @click="login" >提交</el-button>
                   <el-button type="info" @click="resetLoginForm()">重置</el-button>
                </el-form-item>
            </el-form>
        </div>
    </div>
</div>
</template>

<script>
export default{
    data(){
        return {
            imgSrc:require('../assets/sea.jpg'),
            //表单数据
            loginForm:{
                id:"1",
                password:"123456"
            },
            //验证对象
            loginRules:{
                //校验id
                id:[
                    { required: true, message: '用户id为必填项', trigger: 'blur' },
                    { min: 0, max: 10, message: '长度在 0 到 10 个字符', trigger: 'blur' }
                ],
                //校验密码
                password:[
                    { required: true, message: '用户密码为必填项', trigger: 'blur' },
                    { min: 6, max: 10, message: '长度在 6 到 10 个字符', trigger: 'blur' }
                ],
            },
        };
    },
    methods: {
        resetLoginForm(){//重置用户名和密码方法
            this.$refs.loginFormRef.resetFields();
        },
        login(){

             this.$refs.loginFormRef.validate(async valid =>{
               //1.验证失败则结束
               if(!valid) return;
               const {data:res} = await this.$http.post("login",this.loginForm);
               //2.是否登入后台
               if(res.flag=="ok"){
                   //3.登陆成功,跳转到首页
                   this.$message.success("操作成功");

                   //4.存储user信息
                   window.sessionStorage.setItem("user",res.user);
                   console.log(res.user);
                   window.sessionStorage.setItem("userid",res.user.id);
                   //5.进入首页
                   this.$router.push({path:"/home"});
               }else{
                   this.$message.error("操作失败");
               }
           })
        },
    },

}
</script>

<style  scoped>
.login_container{
    background-color:palegreen;
    
}
.login_box{
    width: 450px;
    height: 300px;
    /* background-color: #ffffff; */
    background: rgba(255,255,255,0.3);
    border: 1px solid black;
    opacity: 0.85;
    filter: alpha(opacity=90);
    border-radius: 20px;
    position: absolute;
    left: 50%;
    top:50%;
    transform: translate(-50%,-50%);
    
}
.avatar_box{
        width: 130px;
        height: 130px;
        border:-30px solid #eee;
        border-radius: 50%;
        padding: 0px;
        box-shadow: 0 0 2px #ddd;
        left:50%;
        
}
.btns{
    display: flex;
    justify-content: space-around;    
}
.login_form{
    position: absolute;
    bottom: 0%;
    width: 100%;
    border: 30px;
}
.background{
    width:100%;  
    height:100%;  /**宽高100%是为了图片铺满屏幕 */
    z-index:-1;
    position: absolute;
}
.in{
    margin-left: 10%;
    margin-right: 10%;
    width: 350px;
}
h1,h2,h3{

font-size:xxpx;

color:rgb(7, 7, 7);

text-align:center;

}
</style>

1.利用background:rgba(255,255,255,0.3)

2.把background:rgba(255,255,255,0.3)注释掉,把上一排的注释撤回也可以实现

页面演示

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Vue3中的半透明悬浮效果,可以按照以下步骤进行操作: 1. 首先,将悬浮窗组件和带有图片背景的组件放置在共同的父组件div上。这样可以实现悬浮窗的效果。 2. 接下来,需要将该父组件div设置为全屏大小,并设置背景颜色为黑色。通过设置透明度来实现背景的半透明效果。可以使用以下CSS样式来设置:#forPop { width: 100%; height: 100%; top:0px; left:0px; position:absolute; filter: Alpha(opacity=60); opacity:0.6; background:#000000; display:none; } 3. 当点击时,需要完成半透明效果和弹JavaScript实现。可以使用JavaScript代码来实现这一效果。 4. 在点击事件中,将原先设置为display:none的样式改为visibility: hidden,将原先设置为display: block的样式改为visibility: visible。这样就可以实现半透明效果和弹的显示。 通过以上步骤,你可以在Vue3中实现半透明悬浮效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【Vue】悬浮窗和聚焦登录组件经验总结](https://blog.csdn.net/m0_59792745/article/details/127279667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue.js和css结合实现弹居中以及背景半透明](https://blog.csdn.net/nuannuanloveai/article/details/96251466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值