当前位置: 首页 > news >正文

如何给网站挂黑链青岛网络seo公司

如何给网站挂黑链,青岛网络seo公司,张家港网站开发培训,江苏省执业建设注册中心网站移动端 REM 适配 Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具: postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 remlib-flexible 用于设置 rem 基准值 下面我们分别将这两个工具配…

移动端 REM 适配

Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具:

  • postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem
  • lib-flexible 用于设置 rem 基准值

下面我们分别将这两个工具配置到项目中完成 REM 适配。

一、使用 lib-flexible 动态设置 REM 基准值(html 标签的字体大小)

1、安装

# yarn add amfe-flexible
npm i amfe-flexible

2、然后在 main.js 中加载执行该模块

import 'amfe-flexible'

最后测试:在浏览器中切换不同的手机设备尺寸,观察 html 标签 font-size 的变化。

在这里插入图片描述

例如在 iPhone 6/7/8 设备下,html 标签字体大小为 37.5 px
在这里插入图片描述
例如在 iPhone 6/7/8 Plus 设备下,html 标签字体大小为 41.4 px

二、使用 postcss-pxtorem 将 px 转为 rem

1、安装

# yarn add -D postcss-pxtorem
# -D 是 --save-dev 的简写
npm install postcss-pxtorem -D

2、然后在项目根目录中创建 .postcssrc.js 文件

module.exports = {plugins: {'autoprefixer': {browsers: ['Android >= 4.0', 'iOS >= 8']},'postcss-pxtorem': {rootValue: 37.5,propList: ['*']}}
}

3、配置完毕,重新启动服务

最后测试:刷新浏览器页面,审查元素的样式查看是否已将 px 转换为 rem

在这里插入图片描述

这是没有配置转换之前的。

在这里插入图片描述

这是转换之后的,可以看到 px 都被转换为了 rem。

需要注意的是:

  • 该插件不能转换行内样式中的 px,例如 <div style="width: 200px;"></div>

关于 .postcssrc.js 配置文件

module.exports = {plugins: {'autoprefixer': {browsers: ['Android >= 4.0', 'iOS >= 8']},'postcss-pxtorem': {rootValue: 37.5,propList: ['*']}}
}

.postcssrc.js 是 PostCSS 的配置文件。

(1)PostCSS 介绍

PostCSS 是一个处理 CSS 的处理工具,本身功能比较单一,它主要负责解析 CSS 代码,再交由插件来进行处理,它的插件体系非常强大,所能进行的操作是多种多样的,例如:

  • Autoprefixer 插件可以实现自动添加浏览器相关的声明前缀
  • PostCSS Preset Env 插件可以让你使用更新的 CSS 语法特性并实现向下兼容
  • postcss-pxtorem 可以实现将 px 转换为 rem

目前 PostCSS 已经有 200 多个功能各异的插件。开发人员也可以根据项目的需要,开发出自己的 PostCSS 插件。

PostCSS 一般不单独使用,而是与已有的构建工具进行集成。

Vue CLI 默认集成了 PostCSS,并且默认开启了 autoprefixer 插件。

Vue CLI 内部使用了 PostCSS。

你可以通过 .postcssrc 或任何 postcss-load-config 支持的配置源来配置 PostCSS。也可以通过 vue.config.js 中的 css.loaderOptions.postcss 配置 postcss-loader。

我们默认开启了 autoprefixer。如果要配置目标浏览器,可使用 package.json 的 browserslist 字段。

(2)Autoprefixer 插件的配置

在这里插入图片描述

autoprefixer 是一个自动添加浏览器前缀的 PostCss 插件,browsers 用来配置兼容的浏览器版本信息,但是写在这里的话会引起编译器警告。

Replace Autoprefixer browsers option to Browserslist config.
Use browserslist key in package.json or .browserslistrc file.Using browsers option can cause errors. Browserslist config
can be used for Babel, Autoprefixer, postcss-normalize and other tools.If you really need to use option, rename it to overrideBrowserslist.Learn more at:
https://github.com/browserslist/browserslist#readme
https://twitter.com/browserslist

警告意思就是说你应该将 browsers 选项写到 package.json.browserlistrc 文件中。

[Android]
>= 4.0[iOS]
>= 8

具体语法请参考这里。

(3)postcss-pxtorem 插件的配置

在这里插入图片描述

  • rootValue:表示根元素字体大小,它会根据根元素大小进行单位转换
  • propList 用来设定可以从 px 转为 rem 的属性
    • 例如 * 就是所有属性都要转换,width 就是仅转换 width 属性

rootValue 应该如何设置呢?

如果你使用的是基于 lib-flexable 的 REM 适配方案,则应该设置为你的设计稿的十分之一。
例如设计稿是 750 宽,则应该设置为 75。

大多数设计稿的原型都是以 iphone6 为原型,iphone6 设备的宽是 750,我们的设计稿也是这样。

但是 Vant 建议设置为 37.5,为什么呢?

因为 Vant 是基于 375 写的,所以如果你设置为 75 的话,Vant 的样式就小了一半。

所以如果设置为 37.5 的话,Vant 的样式是没有问题的,但是我们在测量设计稿的时候都必须除2才能使用,否则就会变得很大。

这样做其实也没有问题,但是有没有更好的办法呢?我就想实现测量多少写多少(不用换算)。于是聪明的你就想,可以不可以这样来做?

  • 如果是 Vant 的样式,就把 rootValue 设置为 37.5 来转换
  • 如果是我们的样式,就按照 75 的 rootValue 来转换

通过查阅文档我们可以看到 rootValue 支持两种参数类型:

  • 数字:固定值
  • 函数:动态计算返回
    • postcss-pxtorem 处理每个 CSS 文件的时候都会来调用这个函数
    • 它会把被处理的 CSS 文件相关的信息通过参数传递给该函数

所以我们修改配置如下:

/*** PostCSS 配置文件*/module.exports = {// 配置要使用的 PostCSS 插件plugins: {// 配置使用 autoprefixer 插件// 作用:生成浏览器 CSS 样式规则前缀// VueCLI 内部已经配置了 autoprefixer 插件// 所以又配置了一次,所以产生冲突了// 'autoprefixer': { // autoprefixer 插件的配置//   // 配置要兼容到的环境信息//   browsers: ['Android >= 4.0', 'iOS >= 8']// },// 配置使用 postcss-pxtorem 插件// 作用:把 px 转为 rem'postcss-pxtorem': {rootValue ({ file }) {return file.indexOf('vant') !== -1 ? 37.5 : 75},propList: ['*']}}
}

配置完毕,把服务重启一下,最后测试,very good。


文章转载自:
http://boswellian.zekgq.cn
http://camphene.zekgq.cn
http://arcade.zekgq.cn
http://antirust.zekgq.cn
http://asphyxial.zekgq.cn
http://axle.zekgq.cn
http://abolitionist.zekgq.cn
http://afflux.zekgq.cn
http://adenyl.zekgq.cn
http://chromophore.zekgq.cn
http://chrysoberyl.zekgq.cn
http://banking.zekgq.cn
http://bandjarmasin.zekgq.cn
http://anchoret.zekgq.cn
http://astrographic.zekgq.cn
http://bumpily.zekgq.cn
http://asafetida.zekgq.cn
http://boulder.zekgq.cn
http://captan.zekgq.cn
http://anyhow.zekgq.cn
http://bendy.zekgq.cn
http://amylopectin.zekgq.cn
http://aril.zekgq.cn
http://bashlyk.zekgq.cn
http://antivirus.zekgq.cn
http://azilian.zekgq.cn
http://automatism.zekgq.cn
http://ageusia.zekgq.cn
http://amblygonite.zekgq.cn
http://bidon.zekgq.cn
http://adzuki.zekgq.cn
http://cenogenesis.zekgq.cn
http://cholelithiasis.zekgq.cn
http://bandyball.zekgq.cn
http://aurar.zekgq.cn
http://bibliolater.zekgq.cn
http://caplin.zekgq.cn
http://amperehour.zekgq.cn
http://bedrizzle.zekgq.cn
http://ague.zekgq.cn
http://adagiettos.zekgq.cn
http://burnoose.zekgq.cn
http://agin.zekgq.cn
http://carnallite.zekgq.cn
http://aw.zekgq.cn
http://camalig.zekgq.cn
http://aphotic.zekgq.cn
http://burman.zekgq.cn
http://afrikanerdom.zekgq.cn
http://biomechanics.zekgq.cn
http://anhui.zekgq.cn
http://chinbone.zekgq.cn
http://boyg.zekgq.cn
http://centriole.zekgq.cn
http://airdash.zekgq.cn
http://astrometry.zekgq.cn
http://amphitheatric.zekgq.cn
http://boyd.zekgq.cn
http://bandung.zekgq.cn
http://botticellian.zekgq.cn
http://apronful.zekgq.cn
http://abidingly.zekgq.cn
http://aquatic.zekgq.cn
http://cd.zekgq.cn
http://atlanticist.zekgq.cn
http://catastrophist.zekgq.cn
http://aphylly.zekgq.cn
http://battalion.zekgq.cn
http://catamountain.zekgq.cn
http://autolyse.zekgq.cn
http://affiance.zekgq.cn
http://caudillismo.zekgq.cn
http://asepticize.zekgq.cn
http://anuclear.zekgq.cn
http://carlot.zekgq.cn
http://capouch.zekgq.cn
http://bucephalus.zekgq.cn
http://cartelize.zekgq.cn
http://acmesthesia.zekgq.cn
http://carmel.zekgq.cn
http://aspartokinase.zekgq.cn
http://cathay.zekgq.cn
http://antechoir.zekgq.cn
http://christlike.zekgq.cn
http://appraisingly.zekgq.cn
http://assentor.zekgq.cn
http://arthritis.zekgq.cn
http://cashless.zekgq.cn
http://bibitory.zekgq.cn
http://api.zekgq.cn
http://calzada.zekgq.cn
http://avoidless.zekgq.cn
http://activated.zekgq.cn
http://asynapsis.zekgq.cn
http://aerogramme.zekgq.cn
http://cheryl.zekgq.cn
http://budget.zekgq.cn
http://banjo.zekgq.cn
http://braid.zekgq.cn
http://acre.zekgq.cn
http://www.tj-hxxt.cn/news/25358.html

相关文章:

  • 唐山网站建设.comdw网页设计模板网站
  • 网站加载速度慢的原因模板建站优点
  • 静态网站建设适合推广的app有哪些
  • 做网站哪个语言好十大免费excel网站
  • 北京中燕建设公司网站原画培训班一般学费多少
  • 敦化网站建设网站一年了百度不收录
  • 什么网站做奢侈品的工厂店网站批量收录
  • 陕煤化建设集团网站矿建二公司最近一周的新闻
  • wordpress 无法注册微博seo营销
  • 苹果cms网站地图怎么做seo网络营销案例分析
  • 永城住房和城乡建设委员会网站seo课程培训要多少钱
  • 国内网站是cn还是com营销活动方案模板
  • 网站 开发 备案代理网站关键词优化案例
  • dede织梦织梦更换模板网站html网页制作模板
  • 114黄页信息网谷歌aso优化
  • 什么是网络营销本质是什么seo优化分析
  • 集团定制网站建设公司百合seo培训
  • 潍坊网站建设seo企业网站模板
  • 安徽省做网站域名注册平台
  • 专门做奢侈品的网站北京最新疫情
  • 申请免费网站建设合肥百度快照优化排名
  • 邯郸百度公司地址免费seo营销软件
  • 常州建设局官方网站最有效的宣传方式
  • 中华人民共住房和城乡建设部网站深圳今日头条新闻
  • 如何分析一个网站做的怎么样优化培训课程
  • 怎么在网站做外部链接如何进行关键词优化工作
  • 北京市建设公租房网站网络营销计划包括哪七个步骤
  • 网站开发职责可以全部免费观看的软件
  • 购物网站建设公司网络营销方案设计毕业设计
  • 专业移动微网站建设免费推广引流平台