-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
设计稿是750px,根元素应该设置75,但是vant转换后好小,要改成35才行 #1181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
我的问题是postcss-pxtorem对vant的样式不生效,不知道怎么配置呢 |
@Xuemuyang 样式要手动导入import 'vant/lib/vant-css/index.css' |
@lyseky 使用 babel-plugin-import 插件之后,怎么处理? |
@MinosIE 在postcss.config.js上添加 |
这么配置vant内部的css样式会转成rem吗,我这里不会,应该是postcss没有对node_modules里的模块做处理 |
rem 适配文档已更新 https://youzan.github.io/vant/#/zh-CN/quickstart |
@lyseky 这样配置之后 自己写的样式会转换,但是 引用vant的样式不会转换。有的是rem,有的是px,这怎么搞? |
修改utils.js配置 |
@lyseky @chenjiahan vant使用的rootValue为37.5,但设计稿为75,怎么协调 |
@vonweb vant 不限制 rootValue |
@chenjiahan 如果rootValue设置为75的话,vant组件很小,vant应该是按照@1x设置的大小 |
@vonweb vant 并没有按照什么值设置,这个是看你根元素的 font size 的 |
@chenjiahan 是按照淘宝解决方案设置的,iphone 6根元素font-size: 75px |
奉上一个解决方案
|
: ) 貌似问题也没有解决啊 |
@chenjiahan 按照官网提供的rem解决方案,对于忽略node_modules文件夹还是没有找到合理的解决方案。只是按照过滤类名的方式进行修改。有没有什么更好的方法,谢谢。 postcss.config.js 配置如下 module.exports = { |
@webaifei 这个方案太棒了,解决了vant和其他UI库字体大小不统一的问题。我用的是 postcss-px-to-viewport 转换vw单位的: // postcss.config.js
const join = require('path').join
const tailwindJS = join(__dirname, 'tailwind.js')
module.exports = ({ file }) => {
let vwUnit // 判断条件 请自行调整 我使用的是 mand-mobile ui 没有对vant引入进行测试
if (file && file.dirname && file.dirname.indexOf('vant') > -1) {
vwUnit = 375
} else {
vwUnit = 750
}
return {
plugins: [
require('tailwindcss')(tailwindJS),
require('postcss-px-to-viewport')({
viewportWidth: vwUnit,
unitPrecision: 3,
viewportUnit: 'vw',
selectorBlackList: ['.ignore', '.hairlines'],
minPixelValue: 1,
mediaQuery: false
})
]
}
} |
对的 我也是根据文件名字判断 引入的vant样式 都带有vant |
直接在根目录下新建 |
这个方案也许可以, 但问题来了, 在vue-cli3里只能在vue.config.js里面配置, 它不允许postcss参数是个函数,这样要怎么配置呢? |
找到一个解决方案, |
我也是vuecli3有没有合适的解决方案呢? |
在根目录下新建一个.postcssrc.js文件就可以了 vue-cli3也支持的 不过注意的是新版的vant改了目录结构 你可以试试我这种配置 |
看不懂 你的解释,ctx是改为van吗 还是怎么弄呢? |
不用改 你直接console.log(ctx)就知道了 这个是当前vant文件的上下文 如果读到是vant的css文件那么久应用下面的插件 |
直接复制弄进去吗?弄不了啊 |
可以给个邮箱或什么的直接交流吗? |
知道问题了 各位可以如果要用.postcssrc.js首先要把package.json的postcss去掉要不然是忽略自定义的.postcssrc.js |
这个完美解决 |
const { sep } = require('path') |
请问下,如果我不是用webpack,只是单纯的引入 src/link 引入文件,那么如何vw适配呢? |
https://www.cnblogs.com/yimei/p/11319657.html |
不主动修改样式之后,这个组件也没有做适配怎么解决呢 |
组件中有些行内样式你们是怎么处理的啊? |
@curryhh 这个方案完美! |
这是单独写在postcss.config.js文件中的配置,那请问如果要写在webpack配置文件中该怎么写呢,貌似无法获取file参数 |
vue.config.js 里面怎样使用的? |
https://cli.vuejs.org/zh/guide/css.html#postcss 明确说明了你可以通过 .postcssrc 或任何 postcss-load-config 支持的配置源来配置 PostCSS。也可以通过 vue.config.js 中的 css.loaderOptions.postcss 配置 postcss-loader。 但需要自己注意的是配置源要唯一。 |
推荐一个项目示例地址参考,里面配置了
|
vue.config.js里面可以这么去写,rootValue 可以设置回调的 |
可以试下这样去配套组合使用 |
如果我设计图是750,但是我在切图的时候标的单位都/2,是不是都不用改了?我现在遇到的问题是,van-image外层自己写的样式会变大,单位是rem,但是里面的van-image样式还是px,导致我切换机型的时候定位角标不准,只在iphone6下是正常的,求老哥指点下 |
设计图750不需要/2,postcss不会转换行内标签的样式 |
需要/2吧,因为我基准值我使用的是vant默认的37.5啊,750的基准值应该是75吧,就是外边包了一层div在切换机型的时候会变大,导致角标定位不准,我不知道咋回事 |
报这个错咋办Error loading PostCSS config: Cannot read property 'basename' of undefined |
|
我没有eject, 有rewirePostcss的方案吗 |
require('postcss-pxtorem')({
rootValue: 75, //默认根目录字体大小(px)
unitPrecision: 5, //保留小数位
propList: ['*'],
// selectorBlackList: [''], //过滤的类名
replace: true, //默认直接替换属性
mediaQuery: false,
minPixelValue: 6, //所有小于设置的样式都不被转换
}),
但是改了设计稿的宽度又对不上了,有什么好的解决方案
The text was updated successfully, but these errors were encountered: