PC适配移动端

**手机端适配**
媒体查询
组件统一样式  
媒体查询写四套样式 
手机 屏幕宽小于768px 
平板 屏幕宽 大于等于768px 小于992px 
桌面显示器  屏幕宽大于等于992px  小于1200px
大屏幕 屏幕宽大于等于1200px 

**页面整体及页面内容**
页面看是需要主PC还是主移动端
主移动端的话 一般需要另外做页面 然后页面渲染的时候 获取视口宽度 选择加载哪个页面
主PC端的话  中屏幕适配做样式切换
小屏幕适配做页面切换 样式切换 内容隐藏
(内容隐藏可以用css做 用css做直接display:none;  也可以用js做 用js做的话需要 页面内容也是动态渲染的 组件过滤)

**页面整体导航头适配**
中屏幕和大屏幕可以保持原有样式不变 或者在中屏幕就切换成 导航侧拉 或下拉
移动端不需要显示的页面可以过滤路由 不需要显示的块可以用css隐藏

**筛选值表单**
小屏幕可以放统一按钮  按钮侧拉或下拉里面放表单内容  

**媒体查询 **
所有css样式宽度不能写死  高度尽量不写死   
至于字体需要定义一个统一的标准 小屏幕的字号 中屏幕的字号 大屏幕的字号和超大屏幕的字号
页面布局尽量使用弹性盒子 不推荐浮动  非必要情况不定义页面样式过高的层级
页面板块边距使用外包盒子的padding充当边距 不使用margin


//bootstrap标准
/* 超小屏幕(手机,小于 768px) */
默认样式 
/* 小屏幕(平板,大于等于 768px) */
@media screen and (max-width: 768px) {}

/* 中等屏幕(桌面显示器,大于等于 992px) */
@media screen and (max-width: 992px) {}

/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media screen and (min-width: 1200px) {}

//我们一般是先大屏幕再小屏幕适配
默认大屏幕   样式层级要和默认样式严格保持一致   大屏幕适配就要用下面这种顺序  在css中下面的权重较高

//中等
@media screen and (max-width: 1200px) {}
//平板
@media screen and (max-width: 992px) {}
//手机
@media screen and (max-width: 768px) {}

**echarts图表适配**
(包含图表内容适配和图表容器适配 容器适配需要通过媒体查询实现)
所有px单位进行转换 方法如下
 //单位转换
 

  echartsfontSize(res) {
      const clientWidth =
        window.innerWidth ||
        document.documentElement.clientWidth ||
        document.body.clientWidth;
      if (!clientWidth) return;
      const designWidth = 1920; // 设计稿宽度
      const minWidth = 1024; // 最小适配的屏幕宽度
      const screenWidth = Math.max(clientWidth, minWidth); // 当前屏幕宽度与最小适配宽度比较
      const fontSize = screenWidth / designWidth;
      return res * fontSize;
    },

//在图表配置项里

 label: {
            normal: {
              show: true,
              lineHeight: _that.echartsfontSize(20),
              formatter: '{c}',
              position: 'top',
              textStyle: {
                color: '#00D6F9',
                fontSize: _that.echartsfontSize(14)
              }

            }
          }

还有一种很古早的适配方案 就是不管那个屏幕显示的都是同一种页面样式
需要手指放大页面具体查看的那种

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Vue PC端项目适配移动端,可以使用以下步骤: 1. 首先,在开发环境中安装postcss-px-to-viewport插件。可以通过以下命令进行安装:`npm install postcss-px-to-viewport --save-dev`。这个插件可以帮助将像素单位转换为视口单位,实现移动端适配。 2. 在项目根目录中添加postcss.config.js配置文件。可以在配置文件中设置插件的相关参数,如需要转换的单位、设计稿的视口宽度、单位转换后保留的精度等。配置如下: ```javascript module.exports = { plugins: { 'postcss-px-to-viewport': { unitToConvert: 'px', viewportWidth: 1920, unitPrecision: 5, propList: ['*'], viewportUnit: 'vw', fontViewportUnit: 'vw', selectorBlackList: [], minPixelValue: 1, mediaQuery: false, replace: true, exclude: undefined, include: undefined, landscape: false, landscapeUnit: 'vw', landscapeWidth: 1920 } } }; ``` 这个配置会将指定的CSS属性值转换为vw单位,从而实现移动端适配。 3. 在Vue项目的main.js文件中引入lib-flexible库。可以通过以下代码进行引入:`import 'amfe-flexible';`。这个库可以自动设置页面的根字体大小,以适应不同设备的屏幕尺寸。 4. 在vue.config.js文件中配置postcss-pxtorem插件,用于将像素单位转换为rem单位。可以按照以下配置进行设置: ```javascript module.exports = { css: { loaderOptions: { postcss: { plugins: [ require('postcss-pxtorem')({ rootValue: 37.5, propList: ['*'] }) ] } } }, }; ``` 这个配置会将像素单位转换为rem单位,其中rootValue设置为37.5可以方便地将设计稿的像素值转换为rem值。 通过以上步骤,你的Vue PC端项目就可以适配移动端了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Vue移动端 / PC端适配解决方案](https://blog.csdn.net/weixin_48862362/article/details/121518364)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [手把手教你实现VuePC端移动端适配](https://blog.csdn.net/Orange71234/article/details/131329898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值