0


前端适配方案

前端适配是指确保Web应用或网站在不同设备、屏幕尺寸、分辨率、浏览器以及操作系统上都能提供良好的用户体验。因为用户可能通过各种设备访问你的网站,包括桌面电脑、平板、手机,甚至是智能手表和电视。以下是进行前端适配时应考虑的关键策略和技术:

1、百分比布局

在编写样式时,尽量使用 百分比单位 来设置元素的宽度 (

width

),而非固定像素值。这样一来,元素就能随着容器的大小自动调整,实现响应式设计。比如,

width: 50%;

表示元素占据其父容器宽度的一半。这种方式在页面尺寸变化时能保持良好的流动性和自适应性,max-height,min-height等

2、使用vw和vh

vw是相对于当前视口的宽度,最大为100vw,50vw就是当前视口宽度的百分之五十

3、使用rem和em

rem是相对于html根节点的font-size;em是相对于父节点的font-size
浏览器端可以搭配resize事件使用,动态去修改html元素(或者父元素)中font-size的值

window.addEventListener('resize', () => { // 监听浏览器窗口大小改变
  this.$nextTick(() => {
    if (this.$refs.splitPane) {
      this.height = document.body.clientHeight - this.$refs.splitPane.$el.offsetParent.offsetParent.offsetParent.offsetParent.offsetTop
      this.$refs.splitPane.percent = (this.treeWidth !== 0 ? this.treeWidth : this.width) / this.$refs.splitPane.$el.offsetWidth * 100
    }
  })
})

4、使用flex布局

5、避免给父元素一个固定的高度(宽度)

6、css媒体查询

CSS媒体查询(Media Queries)是一种CSS技术,它允许我们根据设备特性来应用不同的样式规则。这些设备特性包括屏幕尺寸、分辨率、屏幕方向(横向或纵向)等。通过使用媒体查询,我们可以创建响应式网页布局,这些布局能够自适应不同尺寸和类型的设备屏幕。

基本语法

媒体查询被包含在一个

@media

规则中,紧跟着是媒体类型和(可选的)一个或多个媒体特性表达式。如果媒体类型或媒体特性与用户代理(通常是浏览器)的条件相匹配,则媒体查询中的CSS规则将被应用。

/* 基本媒体查询语法 */@media media-type and(media-feature-and-value){/* CSS 规则 */}/* 示例:当屏幕宽度大于或等于600px时应用样式 */@media screen and(min-width: 600px){body{background-color: lightblue;}}

媒体类型

虽然现代浏览器支持许多媒体类型,但

screen

print

all

是最常用的:

  • screen:用于屏幕设备(如电脑显示器、平板和手机屏幕)。
  • print:用于打印机。
  • all:用于所有媒体类型。如果未指定媒体类型,则默认为all

媒体特征

媒体查询可以使用各种媒体特性来检测设备的不同方面,例如:

  • widthheight:视口或屏幕的物理宽度和高度。
  • min-widthmin-height:视口或屏幕的最小宽度和高度。
  • max-widthmax-height:视口或屏幕的最大宽度和高度。
  • orientation:屏幕的方向(portraitlandscape)。
  • resolution:设备的分辨率。

7、第三方插件

引入 flexible.js

使用 flexible.js(或现代替代方案 lib-flexible),可以帮助自动调整根元素的字体大小,以此为基础,使用rem单位设置元素尺寸,从而实现不同屏幕尺寸下的完美适配。它会根据屏幕宽度动态计算一个合适的基准字体大小,让适配更加智能化

PostCSS + pxtorem

PostCss我理解的就是一套方案,并不是某一个技术的实现,使用css相关的插件来扩展css的一些功能统称为postcss
PostCSS-pxtorem 插件能够将你的CSS中的像素单位(

px

)自动转换为rem单位,这一步通常在构建流程中完成。通过配置根元素字体大小和转换规则,可以精确控制元素在不同分辨率屏幕上的尺寸,大大简化了适配过程,让开发者可以专注于设计本身,而非繁琐的单位换算

npminstall postcss postcss-pxtorem --save-dev

项目根目录创建或编辑

postcss.config.js
module.exports ={plugins:[require('postcss-pxtorem')({rootValue:16,// 根元素字体大小,这里假设为16pxpropList:['*'],// 转换所有px为remunitPrecision:5,selectorBlackList:[],// 不转换的选择器列表,空数组表示全部转换replace:true,// 直接替换属性值,而不是添加备用属性mediaQuery:false,// 是否在媒体查询中转换pxminPixelValue:0,// 设置最小转换数值,小于该值时不转换}),],};
标签: 前端 postcss css3

本文转载自: https://blog.csdn.net/qq_59724054/article/details/141500094
版权归原作者 学死前端 所有, 如有侵权,请联系我们删除。

“前端适配方案”的评论:

还没有评论