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

网站开发要服务器吗福建国通星驿网络科技有限公司

网站开发要服务器吗,福建国通星驿网络科技有限公司,搜索引擎优化简称,品牌网站建设岗位职责背景说明 如果你的 Ant Design Vue 项目有要做适配的需求,那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后,发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…

背景说明

如果你的 Ant Design Vue 项目有要做适配的需求,那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后,发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后,发现想对 Ant Design Vue 进行适配需要走它自己的规则:给 a-style-provider 组件传入 transformerspropsAnt Design Vue 官方自己提供了一套 transformers 方法,用这套方法可以对大于1px的单位进行转换,而不凑巧的是笔者的项目有对1px进行适配的需求,所以笔者必须解决这个问题。

解决方案

不直接用官方的方案,而是用官方方案的修改版。

编写一个px2rem的方法,然后在 a-style-provider 里引进去。

// 这应该是一个文件,例如px2Rem.ts
import unitless from '@emotion/unitless'
export interface Options {/*** The root font size.* @default 16*/rootValue?: number/*** The decimal numbers to allow the REM units to grow to.* @default 5*/precision?: number/*** Whether to allow px to be converted in media queries.* @default false*/mediaQuery?: boolean
}const pxRegex = /url\([^)]+\)|var\([^)]+\)|(\d*\.?\d+)px/gfunction toFixed(number: number, precision: number) {const multiplier = Math.pow(10, precision + 1),wholeNumber = Math.floor(number * multiplier)return (Math.round(wholeNumber / 10) * 10) / multiplier
}const transform = (options: Options = {}): Transformer => {const { rootValue = 16, precision = 5, mediaQuery = false } = optionsconst pxReplace = (m: string, $1: any) => {if (!$1) return mconst pixels = parseFloat($1)if (pixels < 1) return mconst fixedVal = toFixed(pixels / rootValue, precision)return `${fixedVal}rem`}const visit = (cssObj: any): any => {const clone: any = { ...cssObj }Object.entries(cssObj).forEach(([key, value]) => {if (typeof value === 'string' && value.includes('px')) {const newValue = value.replace(pxRegex, pxReplace)clone[key] = newValue}// no unitif (!unitless[key] && typeof value === 'number' && value !== 0) {clone[key] = `${value}px`.replace(pxRegex, pxReplace)}// Media queriesconst mergedKey = key.trim()if (mergedKey.startsWith('@') && mergedKey.includes('px') && mediaQuery) {const newKey = key.replace(pxRegex, pxReplace)clone[newKey] = clone[key]delete clone[key]}})return clone}return { visit } as Transformer<any, any>
}export default transform

App.vue该如下

import px2rem from "./px2Rem.ts" // 自行修改
<template><a-config-provider><a-style-provider :transformers="[px2rem]"><component /></a-style-provider></a-config-provider>
</template>
http://www.yayakq.cn/news/766431/

相关文章:

  • 六安服装网站建设地址龙岗区黄阁坑社区
  • 门户网站开发视频苏州比较大的互联网公司
  • 网站做直播功能需要注册吗品牌设计图片
  • 纯jsp做的留言板网站dede 网站内页标题修改
  • 邯郸市魏县建设局网站邮箱登陆登录入口
  • 网站建设gzdlzggwordpress登陆logo修改
  • 上海先进网站建设概念设计网站建设 昆明
  • 如何添加网站为信任站点开创网站要怎么做
  • 网站开发语wordpress 电商
  • 公司建网站多少钱一个月做外贸家纺资料网站
  • 自己做的网站怎么在百度上搜到网站制作中山
  • 做网站续费百度域名购买
  • 网站搭建实训总结做网站有什么意义
  • 滕州网站建设谷歌网站流量统计
  • 广东建站12306网站做的好还是百度做的好
  • 深圳网站建设公司jm3q软件如何推广
  • 做空eth网站php网站开发实训总结
  • 公司建设网站的注意事项wordpress支付后可见
  • 建交互网站需要多少钱小广告的胶怎么清理
  • 网站建设如何创业wordpress 生成cookies
  • 唐山路北网站建设找人做短视频网站
  • 幸福宝推广app网站下载深圳建设工程交易服务网网址
  • 济南网站建设公司哪家好wordpress设置方法
  • 页面设计班响应式网站seo
  • 网站分辨率做多大企业网站 自适应
  • 北京P2P公司网站建设施工企业质量管理
  • 临沂专业网站制作公司外贸网站推广有哪些
  • 东阿做网站智能建站免费
  • 北京模板网站开发公司九五至尊娱乐场网站
  • 洪梅仿做网站做电子元器件的网站