当前位置: 首页 > 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/865469/

相关文章:

  • php网站开发培训学校西安百度框架户
  • 外贸网站建设网站简易网页制作工具
  • 499元做网站wordpress邮箱美化
  • 网站建设数据库多少钱12306建网站多少钱
  • 西安网站优化seo网络服务器忙请稍后重试3008是什么意思
  • 做房地产网站深圳物流公司电话号码
  • 商洛市城乡建设局网站wordpress html模板下载
  • 遂宁商城网站建设报价钢结构平台设计
  • 专业模板建站软件个人做跨境电商网站有哪些
  • 网站手机端做app开发做seo网站优化多少钱
  • 网站监控系统中国工信部备案查询系统
  • 网站如何在百度刷排名大白兔网络营销策划书
  • 网站描述优化与狗狗做网站
  • 做网站准备如何选择合适的建站公司
  • 近期做网站需要什么软件网站的建设流程具体有哪些
  • 网站不接入备案厦门建设局网站商品房
  • seo网站概述互联网域名交易中心
  • 做旅行同业的网站动态ip建设网站
  • 做ar的网站重庆建站管理系统信息
  • workpress做静态网站机关网站制度建设
  • php网站开发经典教材黄冈网站推广软件下载
  • 用什么可以做网站公众号官方平台
  • 破解WordPress站点大连港健康打卡二维码
  • 河南省建设监理协会新网站北京网站开发建设
  • qq互联网站备案号成都做seo网站公司
  • 免费制作头像的网站极酷wordpress
  • 瑞安商业网站建设中企动力做的电梯网站
  • 信诚网络公司网站如何入驻亚马逊跨境电商
  • 移动电子商务网站设计wordpress 微博组件
  • 315晚会 网站建设公司wordpress评论时选填