关于尺寸转换的想法 #11719
Replies: 5 comments 12 replies
-
https://github.com/wuba/taro-playground/blob/main/src/pages/global/pages/styles/size.tsx
|
Beta Was this translation helpful? Give feedback.
-
我的想法,也没有推翻现有的设计,只是增加几个配置,在现有功能的基础上,实现更通用的尺寸及单位转换策略,例如: {
"defaultUnit": "px",
"unitRatio": {
"px": 16,
"rpx": 16,
"rem": 1
},
"conversionUnit": ['px']
} |
Beta Was this translation helpful? Give feedback.
-
375px(iPhone 6)taro h5e.style.fontSize=t>=640?"40px":t<=320?"20px":t/320*20+"px" 1rem = 23.4375px 小程序https://cloud.tencent.com/developer/article/1782718
1rem = 18.75px 对rem单位使用小程序与h5进行统一
|
Beta Was this translation helpful? Give feedback.
-
rn 端这样处理有些问题,例如,我需要在 rn 上设置 export function getWrapedCSS (css) {
return `
import { StyleSheet, Dimensions } from 'react-native'
// 一般app 只有竖屏模式,所以可以只获取一次 width
const deviceWidthDp = Dimensions.get('window').width
const uiWidthPx = 375
function scalePx2dp (uiElementPx) {
return uiElementPx * deviceWidthDp / uiWidthPx
}
// 用来标识 rn-runner transformer 是否读写缓存
function ignoreStyleFileCache() {}
export default StyleSheet.create(${css})
`
} |
Beta Was this translation helpful? Give feedback.
-
通过这次交流讨论,收获颇多,感谢 @zhiqingchen 的耐心指导,还有个小小的建议,把如下计算尺寸的功能,抽离成配置,方便迁移到 Taro 的项目 function scalePx2dp (uiElementPx) {
return uiElementPx * deviceWidthDp / uiWidthPx
} |
Beta Was this translation helpful? Give feedback.
-
以上是引用自Taro 文档中的一句话,而 Taro 是一个开放式跨端跨框架解决方案,因本着保留各端原有的使用习惯基础上,抹平各端间的差异。
环境
单位:px、rpx、rem
端:h5、小程序、rn
单位转换
单位支持情况
现状
存在的问题
忽略单位混用的情况
存在单位混用的场景
期望
相关 issues
#1251
#8646
Beta Was this translation helpful? Give feedback.
All reactions