Closed ren2436 closed 1 year ago
这个功能我删掉了,因为小于 1 像素不转换其实是特定场景,也就是在使用边框的时候,border: 1px solid black;
,其它小于 1px 的情况可能还是需要转换。
目前可以像下面这样,添加注释,不转换 1 像素:
.box {
border: 1px solid black; /* mobile-ignore */
}
上面的是单行注释,也可以添加在属性的上面:
.box {
/* mobile-ignore-next */
border: 1px solid black;
}
如果注释的意义和你想表达的不一样,也可以自定义注释名称,有两个选项可以设置注释名称,comment.ignoreLine
和 comment. ignoreNext
。
后面我想想加个什么其它属性来表示这种场景
使用 注释的形式 /* mobile-ignore */
和 /* mobile-ignore-next */
确实可行
但 配置参数 minPixelValue
感觉还是有必要的,比如说使用 vant 等第三方框架,会把 1px 的边框也给 转换了,那有什么办法能不转换?
好吧,之前没想到这个情况。目前有个 propList
表示是否转换某属性,可以加个 valueList
表示是否转换某个属性值,你看怎么样。minPixelValue
用在这种不转换 border 的场景,感觉还是有点问题。
小于 1 像素不转换其实是特定场景
这个目前还没能理解是那些场景,但 添加 valueList
表示是否转换某个属性值,还是有很大的局限性,如果 border 大于1px,理论上还是可以转换的
小于 1 像素不转换其实是特定场景
这个目前还没能理解是那些场景
就是在设置边框的时候,比如 border: 1px solid black
。基本上用 minPixelValue
来解决这个问题会有歧义。
但 添加 valueList 表示是否转换某个属性值,还是有很大的局限性,如果 border 大于1px,理论上还是可以转换的
您的意思是不希望大于 1px 的变化吗?border 大于 1px 应该是要转的吧,一般 1px 的边框是分割作用,不用转,大于 1px 可能就是设计上的装饰作用了,需要转。如果你是希望所有的 border 都不转的话,可以用 propList 解决,比如 propList: ['*', '!border']
。如果用 valueList 的话,就可以限制某个值不转,比如 valueList: ['*', "!1px solid black"]
。
@ren2436 已添加选项 valueBlackList
,可以传入指定的值忽略转换,版本是 3.3.1:
{
"valueBlackList": ["1px solid black"]
}
没有用 valueList
,因为 valueList 的行为和 propList 一样,需要指定哪些需要转换哪些不需要,功能面比仅仅设置黑名单的功能广一点,还是按需添加选项吧。
版本 3.3.1
新增的 valueBlackList
已解决 1px 的问题 👍
如题所示,现在小于1像素也给转换了,导致显示太细,不美观,文档中也没找到如何解决这个问题
想实现 postcss-px-to-viewport 中的配置 minPixelValue 或者 在css 中添加注释 过滤的功能
还望能解决下,非常感谢