使用CSS中的`position: fixed`属性实现居中的`<div>`元素 - JavaScript技巧

499 篇文章 ¥59.90 ¥99.00
本文介绍了如何利用CSS的`position: fixed`属性结合JavaScript实现网页上元素的居中效果。详细阐述了HTML、CSS和JavaScript代码示例,通过设置元素的初始位置和响应窗口大小变化来确保元素始终保持居中状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Web开发中,居中元素是一个常见的需求。CSS的position属性提供了多种定位方式,其中fixed是一种常用的定位方式,可以使元素相对于浏览器窗口进行定位。结合JavaScript技巧,我们可以实现一个居中的<div>元素。

以下是一个详细的示例,展示了如何使用CSS中的position: fixed和JavaScript来实现一个居中的<div>元素:

HTML部分:

<!DOCTYPE html>
<html>
<template> <div class="wrap"> <div class="login"> <h1 class="tc mb20 fn f20">十方智育-后台管理系统</h1> <el-form ref="ruleFormRef" style="max-width: 600px" :model="ruleForm" :rules="rules" label-width="auto" class="demo-ruleForm" status-icon> <el-form-item label="用户名" prop="username"> <el-input v-model="ruleForm.username" placeholder="请输入" prefix-icon="User" /> </el-form-item> <el-form-item label="密码" prop="password"> <el-input show-password v-model="ruleForm.password" placeholder="请输入" prefix-icon="Lock" /> </el-form-item> <!-- 验证码 --> <el-form-item label="验证码" prop="code"> <div class="code"> <el-input v-model="ruleForm.code" placeholder="请输入" prefix-icon="Odometer" /> <img class="ml5" src="/imgs/code.gif" alt=""> </div> </el-form-item> <el-form-item label=" "> <el-checkbox-group v-model="ruleForm.remember"> <el-checkbox value="1" name="type">记住密码</el-checkbox> </el-checkbox-group> </el-form-item> <el-form-item> <el-button size="large" style="width: 100%;" type="primary" @click="submitForm(ruleFormRef)">登 录</el-button> </el-form-item> </el-form> </div> </div> <p class="info tc">Copyright © 2018-2024 ruoyi.vip All Rights Reserved.</p> </template> <script setup> import { reactive, ref } from 'vue' import { ElMessage } from 'element-plus' import { useRouter } from 'vue-router' const router = useRouter(); const ruleFormRef = ref() const ruleForm = reactive({ username: 'admim', password: '123', code: '1', remember:['1'] }) const rules = reactive({ username: [ { required: true, message: '不许为空', trigger: 'blur' } ], password: [ { required: true, message: '不许为空', trigger: 'blur' } ], code: [ { required: true, message: '不许为空', trigger: 'blur' } ] }) const submitForm = async (formEl) => { // if (!formEl) return await formEl.validate((valid, fields) => { params:{ password:ruleForm.password, } }).then(res=>{ let result = res.data; if (result.code==1) { // console.log('submit!') ElMessage({ message: '登录成功!', type: 'success', }) router.replace('/'); } else { console.log('error submit!', fields) ElMessage({ message: '登录失败!', type: 'warning', }) } }) } </script> <style scoped> .wrap { height: 100vh; background-color: pink; background-image: url(@/assets/imgs/login-bg.jpg); background-repeat: no-repeat; background-size: cover; background-position: center center; display: flex; justify-content: center; align-items: center; } .login{width: 400px;padding: 20px;background-color: #fff;border-radius: 10px;} .code{display: flex;height: 36px;} .info{position: fixed;width: 100%;bottom: 10px;left: 0;color: #fff;} </style>
03-08
03-08
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值