大屏适配 一屏展示 高度适配

3,234 阅读2分钟

大屏适配整理

适配要求: 保证所有屏幕都能够在一屏展示, 并且不应该出现滚动条的不能出现 大屏项目屏幕分辨率适配:1366768 和 19201080 和 2560*1440 和 4096×2160

宽度适配

  • 宽度使用百分比来实现, 能用百分比的就用百分比
  • 对于大屏, 要适配所有的字体, 宽度可以通过rem来进行适配
:root {
  font-size: calc(100vw / 19.2);
}
/* 里面的元素写成量出来的长度 / 100 rem, 即可, 这样就可以实现宽度适配 */

高度适配

高度适配是比较麻烦的, 要处理好margin和padding导致的问题, 并且还要控制在一屏下展示全, 还不能出现滚动条

  • padding-top, margin-top 如果设置为百分比, 都是依照父元素的宽度
  • height, 设置百分比, 是根据父元素的height来设置的, 前提要父元素有高度
  • top, 根据父元素的height来设置百分比, left 根据父元素的宽度设置的
  • line-height 设置百分比, 是根据当前字体大小来设置行高, 200% 和 2 是一样的

适配技巧

  • 通过calc(100% - 34px)
  • 高度通过百分比适配, 对于大块的布局优先使用vw以及vh来进行定位到指定的位置
  • 对于必须写绝对单位的, 剩余的部分必须要使用calc(100% - xpx)来进行适配
  • 对于要居中的元素, 使用absolute来进行定位
  • 由于行高写百分比和写像素对高度适配都没用, 所以尽量不要使用行高来居中元素
  • 最后再对细节使用媒体查询进行修改

字体适配方案

  • 字体通过rem来进行适配, 而不是直接写px, 写px的话在低分屏下面字体会变大, 在高分屏下面看着字体偏小
  • 通过媒体查询或者上面的calc来给根元素字体进行赋值

echarts适配方案

大屏肯定是少不了echarts, 在echarts未进行适配, 因此只要有文字的地方都要通过一个函数来算出当前分辨率下面的px, 然后再 赋值上去, echarts的字体不能设置为rem

总结:

rem + vw + vh + calc + % + media + position 合理运用这些, 就能实现各种适配