songsiqi / px2rem Goto Github PK
View Code? Open in Web Editor NEWAccording to one stylesheet, generate rem version and @1x, @2x and @3x stylesheet.
According to one stylesheet, generate rem version and @1x, @2x and @3x stylesheet.
设置module.exports = {
plugins: {
autoprefixer: {},
'postcss-px2rem': {
remUnit: 75
}
}
}之后整个vue都生效 我只想让其中一个vue页面生效该怎么设置
在vue项目中引入了vux,发现会对组件样式转换,变形
有什么方法可以解决吗?
不太确定如果单位写成PX是否会存在兼容性问题,不过在高级浏览器和我测试的几部手机观察来看未发生异常。
假设通过将单位故意大写为PX
而避免转换的话,是不是相对尾部写/*no*/
来进行过滤更为方便?
发现这个特征的是在学习postcss的时候用到postcss-pxtorem插件,碰巧测试出来的。
当然个人倒的确倾向于写PX
,如果不存在兼容性问题。
示例:
转换前:
.pic-txts {
text-align: left;
border:1px solid #ddd; /*px*/
border-radius: 5PX;
width:690px;
display: block;
}
转换后:
.pic-txts {
text-align: left;
border-radius: 5PX;
width: 9.2rem;
display: block;
}
[data-dpr="1"] .pic-txts {
border: 0.5px solid #ddd;
}
[data-dpr="2"] .pic-txts {
border: 1px solid #ddd;
}
[data-dpr="3"] .pic-txts {
border: 1.5px solid #ddd;
}
build: {
extend(config, ctx) {
config.module.rules.push({
test: /\.css$/,
loader: 'px2rem-loader',
options: {
remUnit: 16
}
})
}
nuxt 2.0 引入后 rem 并没有动态适配不同的窗口大小,而变成了固定值
// 注释
请教下,如果有单行注释解析不了,怎么处理?
……
比如我写的scss文件中有import其他的css或者scss文件
@import '../vendor/swiper';
@import '../vendor/weui';
有没有办法跳过他们例如加个注释检测
/*do not transform start*/
@import '../vendor/swiper';
@import '../vendor/weui';
/*do not transform end*/
之类的.
// less编译后的css将注入到浏览器里实现更新
gulp.task('transform', function () {
var options = [px2rem({
baseDpr: 2, // 基础设备像素比例(默认值:2)
threeVersion: true, //是否生成@1x @2x和@3x版本(默认值:false)
remVersion: true, // 是否生成rem版本(默认值:true)
remUnit: 75, // rem基准值 (默认值: 75)
remPrecision: 6 // rem精确度 (默认值: 6)
})];
return gulp.src('./public/less/*.less')
.pipe(less())
.pipe(postcss(options))
.pipe(rename("style.css"))
.pipe(gulp.dest('./public/dist'))
// .pipe(reload({
// stream: true
// }));
});
您好,在npm中您的示例代码为
module.exports = { // ... module: { rules: [{ test: /\.css$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' }, { loader: 'px2rem-loader', // options here options: { remUni: 75, remPrecision: 8 } }] }] } }
其中remUni应该改为您github中的示例remUnit。今天刚好看到其他社区也有人反应设置unit不生效的问题,在这里顺便提一下。
{
test: /\.less$/,
loader: 'style-loader!css-loader!autoprefixer-loader?{browsers:["android 4", "ios 6", "last 1 Chrome versions", "last 2 Safari versions"]}!less-loader'
}
这是当前的的配置,想用px2rem-loader,但直接加到这个loader后面会报错,想问下处理less文件的话,要怎么配置呢?
建议增加参数配置:例如:px2rem?remUnit=37.5&exclude=['font-size'],这样团队里具体使用的人就不要在每个单独的属性的地方增加/no/
你好,设计稿414的怎么配置?
gulp里面编译出的css能不能不是.debug.css,直接输出.css,remVersion设为false之后直接就不输出css了,是否可以增加个参数需要debug的时候才添加debug
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2216px%22%20height%3D%2226px%22%20viewBox%3D%220%200%2016%2026%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%2...
背景使用svg转码后 "21px"
会转成 %2221px
, px2rem后结果不对
例如px2rem中的remUni设置为32,在vue文件中的样式设置为320px,最后转换后的rem值是4rem,应该是8rem才对啊(iPhone5下)
现在有多个页面,希望某个页面不转换成 rem,这个要如何操作呢?
第一个是生成了三份css,其实我只想要一份合并的,有大部分的重复代码并不需要分开三份。
第二个是本来是1px的border变成了2px和3px,这不合理……
期待你的回复……
未优化压缩前,是可以的。
上线时候执行webpack.optimize 发现编译后的css文件,border:1px solid red 这样的都是编译成了rem,写的时候是用/px/的,请问要怎么整
按照官方的语法推荐,去用,失效。
[{ test: /\.vue$/, loader: vue.withLoaders({css: 'css!px2rem?remUnit=75&remPrecision=8'})}]
ReferenceError: vue is not defined
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders:{
css: [
'vue-style-loader',
'css-loader',
{
loader:'px2rem-loader',
options: {
remUnit: 75,
remPrecision: 8
}
}
],
scss: [
'vue-style-loader',
'css-loader',
{
loader:'px2rem-loader',
options: {
remUnit: 75,
remPrecision: 8
}
},
'sass-loader'
],
}
}
}
如上代码 不生效 也不报错,看了好多次文档
(感谢大佬开源, 很好用)
接下来是问题:
代码 font-size: 15px;
chrome styles 下显示: font-size: 0.5rem;
期望
chrome styles 下显示: font-size: 0.5rem /* 15px */;
可能原因是?
px转换成rem后,小数位太多,如何控制在两位小数中?
为什么在ipad上不能铺满呢?转换后最大只有10rem,宽度没有铺满屏幕
这种情况下该怎么办
使用版本号"px2rem-loader": "^0.1.9",
Vue 在<style scoped lang="scss">
font-size: 28px; /*px*/
border: 1px solid #ddd; /*no*/
不生效,依旧转为rem
在<style>默认的css中会生效
例如通过一个vue组件属性传递过来css值 这时候在style中 不是单独css文件 能转换吗
什么时候加上这个啊
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.