<script setup>
import {ref} from "vue";
const left_width=ref(0)
const center_width=ref(24)
const right_width=ref(0)
const flex_change = (type)=>{
switch (type){
case 1:
left_width.value = 8;
center_width.value = 16;
right_width.value = 0;
break
case 2:
left_width.value = 0;
center_width.value = 24;
right_width.value = 0;
break
case 3:
left_width.value = 0;
center_width.value = 16;
right_width.value = 8;
break
}
}
</script>
<template>
<div class="login-content">
<el-row>
<el-col :span="left_width" class="content-col"> 1 </el-col>
<el-col :span="center_width" class="content-col">
<div class="demo">
方块
</div>
</el-col>
<el-col :span="right_width" class="content-col">
<el-row style="height: 100%">
<el-col :offset="6" :span="12" class="block">
</el-col>
</el-row>
</el-col>
</el-row>
</div>
<div class="flex-tool">
<el-row>
<el-col :span="8" @click="flex_change(1)">
居左
</el-col>
<el-col :span="8" @click="flex_change(2)">
居中
</el-col>
<el-col :span="8" @click="flex_change(3)">
居右
</el-col>
</el-row>
</div>
</template>
<style scoped>
.login-content{
height:100vh;
width:100vw;
background-color: gray;
}
.flex-tool{
background-color: white;
height: 30px;
width: 120px;
border-radius: 20px;
position: absolute;
right: 20px;
top: 10px;
text-align: center;
line-height: 30px;
cursor: pointer;
font-size: 12px;
}
.content-col{
height: 50vh;
margin-top: 25vh;
background-color: red;
border: 2px green solid;
}
.demo{
margin: 0 auto;
margin-top: calc(25vh - 50px);
background-color: aquamarine;
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.block{
background-color: blue;
height: 100%;
}
</style>
常驻大哥24分法,记得看
镜宇秋霖丶2026-05-08 10:01
相关推荐
天启HTTP7 分钟前
开启全局代理后网络变慢,问题出在哪卡布鲁12 分钟前
Webpack 核心原理与自定义 Loader/Plugin 实战小林ixn14 分钟前
从拼多多手机号验证到模板引擎:深入正则表达式与 JS 字符串处理智码看视界18 分钟前
Web Storage 的无障碍实践与工程化应用孟陬21 分钟前
国外技术周刊 #140:在 Jeff Bezos 的私密 Campfire 峰会上,我学到了关于亿万富翁的事槑有老呆22 分钟前
Bun:一个让 Node 开发者原地起飞的 JS/TS 运行时小小小小宇23 分钟前
AI Agent 核心流程与底层逻辑wuhen_n25 分钟前
RAG 实战:语义检索 + 大模型生成精准问答卤蛋fg629 分钟前
vxe-table 列拖拽排序与行拖拽排序:让表格布局任意排序