vue+elementui项目中,页面实现自适应,缩小放大页面排版基本保持不变

您所在的位置:网站首页 如何缩小网页 vue+elementui项目中,页面实现自适应,缩小放大页面排版基本保持不变

vue+elementui项目中,页面实现自适应,缩小放大页面排版基本保持不变

2024-07-10 23:41| 来源: 网络整理| 查看: 265

问题描述: vue+elementui项目中,页面实现自适应,缩小放大页面排版基本保持不变

# 解决方案: 第一步:最外层div样式 : fixed(固定定位):生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定 display:flex 是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。 width: 100%,height: 100%:实现页面宽高在不同窗口下都能占满整个屏幕。 .websit{ position: fixed; display: flex; width: 100%; height: 100%; } 第二步:整体页面样式分三部分,分别是页面头部的:header-two,内容部分:main,页面底部的footer, 其中,头部和底部高度是不变的,中间内容部分的高度=页面高度-头部高度-底部高度,如下 给页面最外层div设置高度:自动获取当前浏览器高度,页面初始化的时候自动获取: header-two { padding: 0;(内边距为0) width: 100%;(宽度自动占满) text-align: center;(内容居中显示) height: 80px !important;(设置固定高度) } .footer { padding: 0; width: 100%; text-align: center; height: 126px !important; } :style="{minHeight :minHeight +‘px’}" mounted() { this.minHeight = document.documentElement.clientHeight - 0; this.marginLeft = (document.documentElement.clientWidth - 1920) / 2; const that = this; window.onresize = function () { that.minHeight = document.documentElement.clientHeight - 0; that.marginLeft = (document.documentElement.clientWidth - 1920) / 2 }; } 第三步: 这里header-two 下面还要加一个div,header-div,并为其设置项目要求的最小宽度,和最大宽度,这里设置为1920,保证缩放时的样式正常,同理,底部也要加上一个div,footer-div。 header-div,footer-div{ margin: auto; text-align: center; min-width: 1920px !important; max-width: 1920px !important; } 第四步:为header-div和footer-div,设置向左偏移:style="{marginLeft:marginLeft + ‘px’ }" 第五步:中间内容过多时,会产生滚动弄条,我们想让滚动条产生在最外层,也就是,中间元素被撑开,因此设置属性 .main { overflow: visible; } A元素具有 overflow: visible 的属性,内层内容比较多时,分两种情况讨论 A元素高度auto:无作用,A元素撑开,正常滚动 A元素具有固定高度:虽然A限制的高度,但内层内容并不会隐藏,而是完全显示在屏幕上,参与布局,甚至撑开外层dom高度 第六步:涉及背景是图片,图片实现自适应,如下 header-first { padding: 0; width: 100%; text-align: center; background-repeat: no-repeat; height: 292px !important; background-image: url(’…/aa.png’); background-size: cover; /* 使图片平铺满整个浏览器(从宽和高的最大需求方面来满足,会使某些部分无法显示在区域中) */ 代码如下:

export default { name: ‘ContainerMoudle’, components: {Footer, WebsitHeaderTwo}, data() { return { minHeight: 0, marginLeft: 0 } }, mounted() { this.minHeight = document.documentElement.clientHeight - 0; this.marginLeft = (document.documentElement.clientWidth - 1920) / 2; const that = this; window.onresize = function () { that.minHeight = document.documentElement.clientHeight - 0; that.marginLeft = (document.documentElement.clientWidth - 1920) / 2 }; }, methods: {} }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3