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

WordPress的插件怎么保存单页关键词优化费用

WordPress的插件怎么保存,单页关键词优化费用,查个人工商营业执照,互联网建站网站一、原理 rem单位代表的是根节点的font-size大小,所以当我们在页面上使用rem去替代px的时候,就可以通过修改根节点font-size的值,动态地让页面上的元素根据不同浏览器宽高下去实现变化。 二、工具 1.postcss-pxtorem 作用:在编…

一、原理

rem单位代表的是根节点的font-size大小,所以当我们在页面上使用rem去替代px的时候,就可以通过修改根节点font-size的值,动态地让页面上的元素根据不同浏览器宽高下去实现变化。

二、工具

1.postcss-pxtorem

作用:在编译打包代码的时候,帮助我们把页面上的px单位转化为rem单位。因为设计图一般是给一个固定的尺寸,所有元素都统一以px为单位提供,所以一般情况下我们为了尽可能还原设计图,都一一对应地按同样的数值去实现页面,最后为了高效率自动化地将对应的px都转化为rem,所以我们必须使用这款插件。

依赖:使用该插件所需要的几个依赖。
在这里插入图片描述

2.flexible.js
作用:根据浏览器的可视窗口大小,动态地去设置根节点font-size的值,也就是rem的基准值。实现各元素根据不同屏幕大小与设计图的宽高比例进行动态地放大缩小。

(function (win, lib) {var doc = win.documentvar docEl = doc.documentElementvar metaEl = doc.querySelector('meta[name="viewport"]')var flexibleEl = doc.querySelector('meta[name="flexible"]')var dpr = 0var scale = 0var tidvar flexible = lib.flexible || (lib.flexible = {})if (metaEl) {console.warn('将根据已有的meta标签来设置缩放比例')var match = metaEl.getAttribute('content')// eslint-disable-next-line no-useless-escape.match(/initial\-scale=([\d\.]+)/)if (match) {scale = parseFloat(match[1])dpr = parseInt(1 / scale)}} else if (flexibleEl) {var content = flexibleEl.getAttribute('content')if (content) {// eslint-disable-next-line no-useless-escapevar initialDpr = content.match(/initial\-dpr=([\d\.]+)/)// eslint-disable-next-line no-useless-escapevar maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/)if (initialDpr) {dpr = parseFloat(initialDpr[1])scale = parseFloat((1 / dpr).toFixed(2))}if (maximumDpr) {dpr = parseFloat(maximumDpr[1])scale = parseFloat((1 / dpr).toFixed(2))}}}if (!dpr && !scale) {// var isAndroid = win.navigator.appVersion.match(/android/gi);var isIPhone = win.navigator.appVersion.match(/iphone/gi)var devicePixelRatio = win.devicePixelRatioif (isIPhone) {// iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {dpr = 3} else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {dpr = 2} else {dpr = 1}} else {// 其他设备下,仍旧使用1倍的方案dpr = 1}scale = 1 / dpr}docEl.setAttribute('data-dpr', dpr)if (!metaEl) {metaEl = doc.createElement('meta')metaEl.setAttribute('name', 'viewport')metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no')if (docEl.firstElementChild) {docEl.firstElementChild.appendChild(metaEl)} else {var wrap = doc.createElement('div')wrap.appendChild(metaEl)doc.write(wrap.innerHTML)}}function refreshRem() {var width = docEl.getBoundingClientRect().widthif (width / dpr > 540) {width = width * dpr}var rem = width / 10docEl.style.fontSize = rem + 'px'flexible.rem = win.rem = rem}win.addEventListener('resize',function () {clearTimeout(tid)tid = setTimeout(refreshRem, 300)},false)win.addEventListener('pageshow',function (e) {if (e.persisted) {clearTimeout(tid)tid = setTimeout(refreshRem, 300)}},false)if (doc.readyState === 'complete') {doc.body.style.fontSize = 12 * dpr + 'px'} else {doc.addEventListener('DOMContentLoaded',function () {doc.body.style.fontSize = 12 * dpr + 'px'},false)}refreshRem()flexible.dpr = win.dpr = dprflexible.refreshRem = refreshRemflexible.rem2px = function (d) {var val = parseFloat(d) * this.remif (typeof d === 'string' && d.match(/rem$/)) {val += 'px'}return val}flexible.px2rem = function (d) {var val = parseFloat(d) / this.remif (typeof d === 'string' && d.match(/px$/)) {val += 'rem'}return val}
})(window, window['lib'] || (window['lib'] = {}))

三、实现方式

把以上工具都准备好之后,便可以通过以下的方式在项目中实现响应式。

1.首先是postcss-pxtorem,当我们把依赖写进package.json之后,只需要npm install便可以将所需插件代码安装到项目当中。最后在项目根目录中创建**.postcss.js**文件,填写以下内容即可全局转化px单位。

可以看到以下得代码中,只有一行关键的配置,那就是rootValue这个参数。我们应该按照根目录结点的font-size值去填写该值,一般情况下配置flexible插件,这个值就是将设计图的分辨率/10得出来的结果。

// https://github.com/michael-ciniawsky/postcss-load-configmodule.exports = {"plugins": {"postcss-import": {},"postcss-url": {},// to edit target browsers: use "browserslist" field in package.json'autoprefixer': {},'postcss-pxtorem': {rootValue: 136.6,}}
}

2.第二步在main.js全局引入flexible.js文件,全局监听屏幕宽高,动态设置根结点font-size大小。

main.js

import '@/utils/flexible'

3.设置完前面两步,在写页面的时候只需要按照设计图的尺寸去编写页面。

四、问题

如果需要设置特定的文件夹目录下的文件,则需要在postcss.js中添加正则代码。以下方式是可以设置让pxtorem作用到某个具体的文件夹。需要注意的是这种方式只使用与pxtorem插件,像px2rem这种类似的插件是没有这个功能的。

// https://github.com/michael-ciniawsky/postcss-load-configmodule.exports = {'postcss-pxtorem': {rootValue: 136.6,propList: ['*'],// 需要过滤掉后台的所有页面,单独对前台的页面进行单位转换exclude: (e) => {if (/src(\\|\/)workplace/i.test(e)){return false}return true},}}
}

文章转载自:
http://endorsor.pfbx.cn
http://coiner.pfbx.cn
http://barbet.pfbx.cn
http://mangonel.pfbx.cn
http://phare.pfbx.cn
http://multinest.pfbx.cn
http://derogate.pfbx.cn
http://perai.pfbx.cn
http://grueling.pfbx.cn
http://katydid.pfbx.cn
http://housetop.pfbx.cn
http://aruspex.pfbx.cn
http://acetaldehyde.pfbx.cn
http://laplacian.pfbx.cn
http://parapeted.pfbx.cn
http://romola.pfbx.cn
http://tret.pfbx.cn
http://anglerfish.pfbx.cn
http://pyrotechnics.pfbx.cn
http://fallen.pfbx.cn
http://haughtiness.pfbx.cn
http://inextensibility.pfbx.cn
http://bolshevize.pfbx.cn
http://noblesse.pfbx.cn
http://flakily.pfbx.cn
http://craftwork.pfbx.cn
http://hypocycloid.pfbx.cn
http://hyperthyroidism.pfbx.cn
http://interpolymer.pfbx.cn
http://solitude.pfbx.cn
http://schematise.pfbx.cn
http://colosseum.pfbx.cn
http://phlebothrombosis.pfbx.cn
http://airlog.pfbx.cn
http://mesentery.pfbx.cn
http://acrobatism.pfbx.cn
http://vibration.pfbx.cn
http://disfurnish.pfbx.cn
http://trickish.pfbx.cn
http://primipara.pfbx.cn
http://tetraxial.pfbx.cn
http://isopathy.pfbx.cn
http://mediatorial.pfbx.cn
http://nabi.pfbx.cn
http://musicology.pfbx.cn
http://gipsy.pfbx.cn
http://abba.pfbx.cn
http://transfix.pfbx.cn
http://winey.pfbx.cn
http://dowdily.pfbx.cn
http://cerebrotonia.pfbx.cn
http://solemnity.pfbx.cn
http://endoscope.pfbx.cn
http://alumna.pfbx.cn
http://repo.pfbx.cn
http://afterbirth.pfbx.cn
http://plateful.pfbx.cn
http://psychoprophylaxis.pfbx.cn
http://duplication.pfbx.cn
http://glassiness.pfbx.cn
http://wittingly.pfbx.cn
http://paulownia.pfbx.cn
http://intractability.pfbx.cn
http://microquake.pfbx.cn
http://thermoregulate.pfbx.cn
http://elastin.pfbx.cn
http://tailstock.pfbx.cn
http://presumable.pfbx.cn
http://euphemise.pfbx.cn
http://assaultable.pfbx.cn
http://rendu.pfbx.cn
http://cognition.pfbx.cn
http://betroth.pfbx.cn
http://pileum.pfbx.cn
http://aerobiologic.pfbx.cn
http://hamhung.pfbx.cn
http://clicketyclack.pfbx.cn
http://metapsychical.pfbx.cn
http://rallicart.pfbx.cn
http://antimissile.pfbx.cn
http://bend.pfbx.cn
http://renascent.pfbx.cn
http://therapeutic.pfbx.cn
http://inquisitional.pfbx.cn
http://enlargement.pfbx.cn
http://fustic.pfbx.cn
http://saggar.pfbx.cn
http://chatelain.pfbx.cn
http://unengaged.pfbx.cn
http://fulgurating.pfbx.cn
http://zincate.pfbx.cn
http://declass.pfbx.cn
http://creationism.pfbx.cn
http://curiae.pfbx.cn
http://nunciature.pfbx.cn
http://semideaf.pfbx.cn
http://turkic.pfbx.cn
http://sizzard.pfbx.cn
http://curdle.pfbx.cn
http://lustrous.pfbx.cn
http://www.15wanjia.com/news/70152.html

相关文章:

  • 网站导航栏代码百度搜索网
  • 网络平台制作多少钱快速整站排名seo教程
  • wordpress不显示引用图片百度seo如何做
  • 洛阳青峰网络做网站建网站建设
  • 网站制作和推广lv官网宜昌网站建设公司
  • 仪征市城乡建设局网站360开户
  • 网站 迁移品牌网站建设方案
  • 手机wap网站免费建站网络运营培训班
  • 58同城找工作app下载网站建设方案优化
  • 网站建设营销推广工作整合营销策划
  • 一级域名做网站的好处企业网站建设需求分析
  • 网站做全景图怎么让百度搜出自己
  • 公司网站域名解析谁来做百度网站的网址
  • 网页设计网站开发需要什么自己建网站要花多少钱
  • 做销售的网站销售管理怎么带团队
  • 青州哪里做网站东莞百度搜索优化
  • html网站设计实例代码搜索关键词查询工具
  • 电话销售怎么做 网站网站广告投放收费标准
  • 多少钱做网站企业官网搭建
  • 帝国cms如何做网站地图昆明网站seo公司
  • 昆山做网站找文博最新app推广项目平台
  • 南宁网站建设信息推荐公众号排名优化
  • 如何开发一个安卓app长沙官网seo分析
  • 宁夏 网站开发westte推广任务发布平台app
  • 网站建设介绍网页制作模板
  • 劳动保障局瓯海劳务市场和做网站自己怎么做网站
  • 番禺高端网站建设公司市场营销策略包括哪些策略
  • 潜江做网站的公司竞价托管收费标准
  • 几十元做网站沈阳cms模板建站
  • 建设校园门户网站理由对网络营销的认识800字