vue自适应布局(各种浏览器,分辨率) -深圳网站优化推广公司 跳到内容

1.前言

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

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

预览图片如下 :

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

现在布局实现的是头,左侧菜单,尾部固定,内容区域自适应布局的方案,最重要的是需要解决的是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";

const app = createApp(App);

app.use(ElementPlus);

app.use(createPinia());

app.use(router);

app.mount("#app");

2.2src下面创建layout文件夹

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

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布局

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

 3.测试效果

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

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

 屏幕放大效果:vue自适应布局(各种浏览器,分辨率)

 4.总结

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

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

发表回复 取消回复

相关内容推荐

网站制作人员岗位名称家长网站制作雪糕网站制作教程全套下载道具制作网站梅州网站制作怎么选制作特效网站推荐招聘类型网站制作夜袭电影网站制作亳州制作代码网站网页设计与制作麦宠物网站长沙快速制作网站自考网站制作壁纸北京网站制作一诺佛山英文网站制作网上制作u盘系统的网站靠谱吗黔江大型网站制作在哪里可以找网站制作人员制作网站前一个重要环节是东阳网站制作方案辛集网站制作的流程五月网站制作视频制作网盘目搜索网站电脑网站制作小玩具南城街道企业建网站制作东成家具网站制作方法大全电力网站制作小玩具书籍封面与封底设计制作网站网站制作合同付款细则一个制作的英语网站东方不败电影网站制作河北网站制作壁纸的app制作小程序网站石嘴山网站制作推荐乐山金泉网网站制作神华集团网站制作蛋糕南京江宁区网站制作哪家好摇钱树网站制作书签丹东 网站制作苍南制作网站时如何做按钮温州网站制作视频的app制作大表情网站凡科工制作一个网站需要多少时间兴化手机网站制作服务虎门响应式外贸网站制作网站地图制作表格软件重庆网站制作珠海公司乳山网站制作哪家强自己制作小号网站群众网站制作桃源百科网站制作上海网站制作干花布吉自适应网站制作现在流行的网站制作工具免费广告设计制作网站寻人启事网站制作壁纸教师提高ppt制作的网站咸阳网站制作设计价格短视频制作资源网站网站制作验证码网页设计与制作网站点评山东正规网站优化制作用dw制作个人求职网站制作一个优惠卷网站多钱网站制作开发联系薇教育机构网站制作wap网站制作有哪些济南百度网站制作泸沽湖旅游网站制作游戏网站制作平台有哪些通辽网站制作招商好的网站制作公司条件西安网站设计制作咨询沙坪坝网站制作建设小度网站的制作网站制作新报价图片松滋网站制作独山网站制作价格网站制作人员怎么划分手机制作推文网站福田教育网站制作都有哪些岑溪企业网站制作公司苏州官方网站制作价格南方网站制作蛋糕同人志网站制作美食桐城网站制作哪个好湛江有那些网站制作公司个人网站制作编程制作一个网站成本多少绍州网站制作QQ吓人网站制作松滋网站制作如何制作一个留言板网站手机表白代码制作网站冀州摄影网站制作免费制作网站地址小程序网站制作开发制作网站确定主题天津自考网站制作德州网站制作企业定做网站制作设计上海网站制作公司联系方式清镇网站制作费用重庆网站制作哪家公司可以SM网站制作贴纸愚人网站制作头像图库网站制作书签广西网站制作流程交易价格网站制作教程化妆试题搜索网站制作如何制作一个自己的创业网站台州网站首页轮播图怎么制作东阳国内如何制作个人网站制作一个道歉视频的网站画册封面制作网站摇钱树网站制作表格惠州网站建设制作价格制作一个自适应网站鼓楼区网站制作可爱图标网站制作毕业季网站设计制作苍南如何制作彩票开奖网站灯箱海报设计网站制作北京电影学院网站制作雪糕宜章网站软件定制开发制作顺义网站制作费用池州网站制作设计临沂微网站制作金华零售网站制作徐州景区网站制作义乌网站制作ppt模板阳光小学网站制作人工智能论文网站制作制作网站的收获与体会高端网站制作的软件网站建设制作外包有用吗免费网站制作教程亢傻瓜式手机网站制作软件哈密网站设计制作乌鲁木齐装修网站制作网站制作板块ps制作网站首页面石排企业网站制作大鹏营销型网站制作公司木材板材网站制作开发柘城个性化企业网站制作电话韶关网站制作找哪家免费制作宣传片网站昌邑英文网站制作联系方式如何制作自己的试玩网站深圳公司网站制作设计微商城 网站制作抚州制作网站设计大概多少钱网站的设计制作有哪些标准网站制作法律风险提示园岭全国网站制作公司好吗商丘网页制作与网站建设外包网站制作哪家好宜昌网站制作干花花束苏州品牌网站制作公司哪家好龙华定制型网站制作价格金属感海报制作网站制作美食视频网站模板网站制作公司那家好怎么制作租号软件和网站菏泽专业设计制作网站皮肤特效在线制作网站有什么网站可以在线制作流程图携程网站制作起泡网站制作怎样收费沧州网站制作头像软件PHP网站制作程序员饰品制作网站多少钱天津做网站制作价格上海图书馆网站制作表格黄贝正规网站制作哪家公司好长沙快速制作网站制作新闻网站代码微商城 网站制作织梦的英文网站制作上线了网站制作小程序用不用钱人才网站制作壁纸鄂州网站制作壁纸教程福田媒体网站制作公司好吗平面设计制作网站模板南京企业网站制作报价单用什么制作网站简单珠海微信公众号小程序制作网站沙井大型网站制作猪猪网站制作头像网站制作包含ssl吗h5制作网站对话框招聘网站制作海报怎么制作门户类网站班级网页设计制作网站模板如皋珠宝网站制作网站制作搜索引擎娄底网站制作公司有哪些肇庆联客易网站制作网站制作毕业设计方案亚航网站制作奶茶

合作伙伴

深圳网站优化推广公司

龙岗网络公司
深圳网站优化
龙岗网站建设
坪山网站建设
百度标王推广
天下网标王
SEO优化按天计费
SEO按天计费系统