当前位置: 首页 > news >正文

Vue3使用 xx UI解决布局高度自适应

解决方案

在相应的Sider部分添加:height: ‘91.8vh’,即可。示例:

<Layout><Sider hide-trigger :style="{background: '#fff', height: '91.8vh'}">
}

知识补充

  1. vw、vh、vmin、vmax是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位1,代表类似于 1%。 视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器
    具体描述如下:
  • vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)
  • vh:视窗高度的百分比(1vh 代表视窗的高度为 1%)
  • vmin:取当前Vw和Vh中较小的那一个值
  • vmax:取当前Vw和Vh中较大的那一个值
  1. vh和vw相对于视口的高度和宽度, 1vh 等于1/100的视口高度,1vw 等于1/100的视口宽度,比如:浏览器高度900px,宽度为750px, 1vh=900px/100= 9 px,1vw=750px/100 = 7.5 px, 这样很容易实现与同屏幕等高的框。而我之前使用的height:100%无效。
  2. % 百分比,也是相对长度单位,它是相对于父元素的百分比值。注意,这个%是相对于父元素的,如果你的父元素没有绝对的高度,那么它就可能失效,父元素就没有设置绝对的高度,所以就没有达想要的效果。如果你的元素是随着父容器或者是整体页面布局而改变尺寸,则使用%更好,如元素的高度和宽度设置。
  3. 而设置成height:100vh后,该元素会被撑开屏幕高度一致,所以你会看到上下的滚动条。而如果不像看到滚动条,就要减去页面中上部分HTML元素的高度,就像我下面这个框架中的菜单一样,而只有减去上方HTML元素的高度,才会自适应,这里我设置了一个大概的高度height: 91.8vh;刚好没有滚动条。overflow-y: auto;自动开启滚动条。

拓展知识

最后附上拓展知识:CSS 中px、em、rem、%、vw、vh单位之间的区别详解

px

px就是pixel(像素)的缩写,相对长度单位,相对于屏幕分辨率。

em

参考物是父元素的font-size,具有继承的特点。浏览器默认字体是16px,整个页面内1em不是一个固定的值。字体大小同样都是1.5em,但是效果却截然不同,按照W3C提供的公式,我们可以计算下: class为id1的div字体大小继承自父元素body:16px1.5em = 24px,class为id2的div字体大小继承自父元素id1:24px1.5em = 36px class为id3的div字体大小继承自父元素id2:36px*1.5em = 54px

rem

rem是CSS3新增的一个相对单位,但相对的只是HTML根元素。通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

%

% 百分比,相对长度单位,相对于父元素的百分比值元素宽高与字体大小使用区别:

  • 尽量使用相对尺寸单位
    使用相对尺寸单位计量,则在调整页面的布局的时候,不需要遍历所有的内部DOM结构,重新设置内部子元素的尺寸大小。如果是随着父容器或者是整体页面布局而改变尺寸,则使用%更好,如元素的高度和宽度设置。
  • 字体尺寸尽量使用em、rem
    为了字体大小的可维护性和伸缩性,推荐使用em,如果存在3层以及3层以上的字体相对尺寸的设置,可以考虑使用rem。

vw和vh

vw、vh、vmin、vmax是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。 视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。
具体描述如下:

  • vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)
  • vh:视窗高度的百分比
  • vmin:取当前Vw和Vh中较小的那一个值
  • vmax:取当前Vw和Vh中较大的那一个值
  • vh和vw相对于视口的高度和宽度, 1vh 等于1/100的视口高度,1vw 等于1/100的视口宽度,比如:浏览器高度900px,宽度为750px, 1 vh = 900px/100 = 9 px,1vw = 750px/100 = 7.5 px, 很容易实现与同屏幕等高的框。
    **注意:**vw、vh为css3新增的单位,所以在不支持css3的浏览器中是无法实现的,IE8及IE8以下的浏览器不支持,选择性使用。

calc函数可以计算宽度和高度

  • calc()是什么?
    简单来说就是CSS3中新增的一个函数,calculate(计算)的缩写。用于动态计算宽/高,你可以使用calc()给元素的各个属性设置值【margin、border、padding、font-size】等,
  • calc()语法
    calc的语法就是简单的四则运算,
  • 使用“+”、“-”、“*” 和 “/”四则运算;
  • 可以使用百分比、px、em、rem等单位;
  • 可以混合使用各种单位进行计算;
    表达式中有“+”和“-”时,其前后必须要有空格,如:“widht: calc(12%+5em)”,这种没有空格的写法是错误的;
    表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
    calc + vw 计算宽度
width: 800px; 
width: -moz-calc(100vw - (2 * 10)px);

参考

  1. https://blog.51cto.com/u_15760883/5614835

相关文章:

  • 机器视觉系统选型-高图像精度
  • 旅游景区项目信息化建设运营方案:PPT47页,附下载
  • ChatGPT如何计算token数?
  • 在Windows系统平台下部署运行服务端Idea工程的jar服务
  • 摄像头画面作为电脑桌面背景
  • 14:00面试,14:08就出来了,问的问题有点变态。。。
  • 【小白专用】php pdo sqlsrv 类,php连接sqlserver
  • 如何用 CleanMyMac 来保护 Mac 隐私
  • pyCharm 创建一个FastApi web项目,实现接口调用
  • English phrase
  • SQL server 数据库 sql常用语句
  • Achronix提供由FPGA赋能的智能网卡(SmartNIC)解决方案来打破智能网络性能极限
  • node.js mongoose aggregate
  • 用户管理第2节课-idea 2023.2 后端--删除表,从零开始
  • Skywalking系列之最新版9.2.0-JavaAgent本地构建
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【comparator, comparable】小总结
  • Apache Zeppelin在Apache Trafodion上的可视化
  • CAP 一致性协议及应用解析
  • CSS实用技巧干货
  • C语言笔记(第一章:C语言编程)
  • eclipse的离线汉化
  • emacs初体验
  • flutter的key在widget list的作用以及必要性
  • Lsb图片隐写
  • Python学习之路16-使用API
  • quasar-framework cnodejs社区
  • swift基础之_对象 实例方法 对象方法。
  • 编写符合Python风格的对象
  • 从伪并行的 Python 多线程说起
  • 记录一下第一次使用npm
  • 技术:超级实用的电脑小技巧
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ArcGIS Pro 如何批量删除字段
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #WEB前端(HTML属性)
  • #考研#计算机文化知识1(局域网及网络互联)
  • (2020)Java后端开发----(面试题和笔试题)
  • (Oracle)SQL优化技巧(一):分页查询
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (四)模仿学习-完成后台管理页面查询
  • (一)Linux+Windows下安装ffmpeg
  • (转) Face-Resources
  • (转)关于pipe()的详细解析
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Core引入性能分析引导优化
  • .NET Standard 的管理策略