位置: IT常识 - 正文

vue自适应布局(各种浏览器,分辨率)(vue 响应式自适应布局)

发布时间:2024-01-17
vue自适应布局(各种浏览器,分辨率) 1.前言

推荐整理分享vue自适应布局(各种浏览器,分辨率)(vue 响应式自适应布局),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vuepc端自适应布局,vue自适应布局用什么ui,vue自适应布局怎么做,vue自适应布局怎么做,vuepc端自适应布局,vuepc端自适应布局,vue自适应布局怎么做,vue 自适应布局,内容如对您有帮助,希望把文章链接给更多的朋友!

spa页面的layout布局对于前端项目的影响至关重要,在我们进行web端开发的时候,前端的各种大小屏幕,各种内核的浏览器不同,会导致我们的页面呈现出不一样的效果,如何进行更好的取舍,怎么能够达到产品对于系统展示效果的满意度,其实我们要前端有一套布局理念,这种理念指导我们如何进行优雅布局,怎么才能不被不合理的需求左右。理念分为以下几点:

整体布局,上左右风格,或者上下风格符合或者复杂的上菜单,左菜单,右内容风格,符合spa的菜单操作方式菜单nav部分固定宽度,配合收起,展开效果;头部固定高度,内容区域flex:1;版本部分固定高度,固定位置内容区域需要适应不同的分辨率,做浏览器的适配需要适配浏览器的百分比缩放的问题

预览图片如下 :

现在布局实现的是头,左侧菜单,尾部固定,内容区域自适应布局的方案,最重要的是需要解决的是main里面的适应分辨率,浏览器内核的问题,往下看⬇️ 

目录

1.前言

2.vue的布局风格

2.1vue3需要配合element plus进行布局

2.2src下面创建layout文件夹

 3.测试效果

 4.总结


2.vue的布局风格2.1vue3需要配合element plus进行布局

安装     $ npm install element-plus --save

引入   main.ts

import { createApp } from "vue";

import { createPinia } from "pinia";

import App from "./App.vue";

import router from "./router";

import ElementPlus from "element-plus";

import "element-plus/dist/index.css";

import "./assets/main.css";

vue自适应布局(各种浏览器,分辨率)(vue 响应式自适应布局)

const app = createApp(App);

app.use(ElementPlus);

app.use(createPinia());

app.use(router);

app.mount("#app");

2.2src下面创建layout文件夹

入口文件layoutIndex.vue,三个子组件

layoutIndex入口文件较为重要:

<script setup lang="ts">import layoutHeader from "./layoutHeader.vue";import layoutMain from "./layoutMain.vue";import layoutFooter from "./layoutFooter.vue";import menu from "./menu";import { RouterLink } from "vue-router";</script><template> <div class="common-layout"> <el-container> <el-header><layout-header></layout-header></el-header> <el-container> <el-aside width="200px"> <nav class="nav-class"> <RouterLink v-for="(item, index) in menu" :key="'menu' + index" :to="item.url" >{{ item.title }}{{ index + 1 }}</RouterLink > </nav> </el-aside> <el-container> <el-main><layout-main></layout-main></el-main> <el-footer><layout-footer></layout-footer></el-footer> </el-container> </el-container> </el-container> </div></template><style>* { margin: 0; padding: 0;}.common-layout { height: 100vh;}.el-container { overflow: hidden;}.el-container.is-vertical { height: 100%;}.nav-class { display: flex; flex-direction: column; height: 100%; align-items: center;}.nav-class a { min-height: 35px; line-height: 35px; color: #fff;}.nav-class a:hover { color: rgb(151, 219, 50);}.nav-class a:focus { color: rgb(151, 219, 50);}.el-aside { background-color: lightslategrey;}</style>

 头部文件layoutHeader

<template> <div class="common-layout-header">header</div></template><style>.el-header { margin: 0; padding: 0; height: 68px; background-color: aliceblue; text-align: center; line-height: 68px;}</style>

layoutFooter文件代码

<template> <div class="common-layout-footer">footer</div></template><style>.el-footer { margin: 0; padding: 0; height: 68px; background-color: azure; text-align: center; line-height: 68px;}</style>

main文件代码 ,就是路由放置区域:

<script setup lang="ts">import { RouterView } from "vue-router";</script><template> <div class="common-layout-main"><RouterView /></div></template><style>.el-main { overflow: auto; height: 100%;}</style>

滚动效果:头部尾部不动,css控制,flex布局,没有position布局

 3.测试效果

谷歌浏览器,大小缩放等:

 屏幕放大效果:

 4.总结

主要使用了flex布局的flex:1属性和自适应的css+vh+百分比这种方式,开局设置overflow:hidden,主体main部分要设置:overflow:auto,这种方式可以自动使得菜单的滚动条和内容的滚动条在一个区域内滚动,后续我会把完整代码放在个人主页KinHKin的博客_CSDN博客-vue,中秋活动,性能优化领域博主

的资源里面,供大家免费下载,希望大家能够喜欢💗💗💗 

本文链接地址:https://www.jiuchutong.com/zhishi/298329.html 转载请保留说明!

上一篇:nvm安装步骤(nvme安装方法)

下一篇:前端与后端传递数据 — — JSON(前端传给后端)

  • 申报个税时怎么获取个税专项附加扣除
  • 运输公司税率和税种
  • 小规模纳税人增值税优惠政策
  • 增值税专用发票明细太多怎么办
  • 二季度申报时间
  • 会计凭证负数金额怎么填
  • 营改增后甲供材的涉税风险
  • 公司宿舍房租
  • 应收而未收的装修款如何做账务处理?
  • 以非现金资产清偿债务的会计处理
  • 给企业供货都有哪些渠道
  • 年终奖可以分几次发吗?
  • 发票一直显示在报送中
  • 专利年费是不是只能一项一项交
  • 代收代付水电费会计分录
  • 固定资产不动产和动产的区别
  • 1697509029
  • BT模式建设项目怎么处理税收?
  • 非税收入票据如何打印
  • 房产中介如何收取中介费
  • c盘满了清理什么
  • 收到服务费专票怎么做账
  • 会计凭证传递的原则及基本程序
  • php是面向过程还是面向对象
  • 预收账款什么时候确认
  • 银行退回手续费的账务处理
  • 二级资本债是什么意思
  • wordpress注册界面
  • php如何提高程序运行效率
  • 进项发票抵扣途中怎么办
  • 应付票据和应收票据的关系
  • 营改增开始时间
  • laravel获取请求参数
  • 建筑行业有哪些岗位,从事的要求有哪些
  • php stomp
  • ConvNeXt V2学习笔记
  • 缴纳社保的时候工资填写多少
  • php安装及使用教程
  • dos命令怎么转到d盘
  • CSS SandBox
  • 年底应交增值税借方余额怎么处理
  • 基本生产成本和辅助生产成本区别
  • 帝国cms 开启动态
  • 预收账款什么时候确认增值税
  • 增值税比对票表不通过
  • 进项税额是什么意思
  • 小规模纳税人开票限额是多少
  • 汇算清缴银行手续费扣除比例是多少
  • 母公司和子公司是什么关系
  • 企业成本计算的依据是什么
  • 现金流量表编制实操
  • 印花税不足一元免征吗
  • 应收账款周转率计算公式
  • 售后回租的实际利率怎么计算
  • 自产自销农产品免税备案取消
  • 个人付款开了公章怎么办
  • mysql使用语句
  • 503 service unavailable错误说明
  • 电脑卡 硬盘100%
  • vm虚拟机中的浏览器在哪
  • Linux系统中配置网络包含( )方法
  • ubuntu下载安装QQ的命令
  • shell 时间格式
  • javascript数组的方法
  • 解决Extjs4中form表单提交后无法进入success函数问题
  • jquery地址
  • unity3ds
  • unity如何得到输入框的输入
  • shell脚本 !
  • 批处理计数
  • 键盘搜索的快捷键
  • Tiled GPU perf. warning: RenderTexture color surface (0x0) was not cleared/discarded
  • macbookair安卓系统怎么切换到苹果
  • 简单的安卓代码
  • imagelearning
  • 如何使用wordpress
  • python打印出none
  • jQuery 选择同时包含两个class的元素的实现方法
  • 广东交通定额发票在哪开
  • 版权登记条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号