rem

洛谷 P3806 【模板】点分治1

断了今生、忘了曾经 提交于 2020-03-12 07:28:52
原题链接 题目描述 给定一棵有n个点的树 询问树上距离为k的点对是否存在。 输入输出格式 输入格式: n,m 接下来n-1条边a,b,c描述a到b有一条长度为c的路径 接下来m行每行询问一个K 输出格式: 对于每个K每行输出一个答案,存在输出“AYE”,否则输出”NAY”(不包含引号) 输入输出样例 输入样例#1: 复制 2 1 1 2 2 2 输出样例#1: 复制 AYE 说明 对于30%的数据n<=100 对于60%的数据n<=1000,m<=50 对于100%的数据n<=10000,m<=100,c<=10000,K<=10000000 题解 我们先随意指定一个根rt,将这棵树转化成有根树 不难发现树上的路径分为两类, 经过根节点rt的路径 和包 含于rt的某棵子树里(不经过rt)的 对于前者, 我们用 $dis[u]$ 表示结点 $u$ 到根节点 $rt$ 的路径长度, 则u到v的路径长即为 $dis[u]+dis[v]$ 对于后者, 既然 $u$ 到 $v$ 的路径包含在 $rt$ 的某个子树内, 那么我们就 找到这棵子树的根,再对他求一次第一类路径 这样分治的思想就很明显了 就是把原来的树分成很多小的子树,并对每个子树分别求解第一类路径 点分治过程中,每一层的所有递归过程合计对每个点处理一次, 假设共递归T层,则总时间复杂度为 $O(T*N)$ 然而,

从 PostCSS 插件,体验编码到发布全过程

我怕爱的太早我们不能终老 提交于 2020-03-07 18:59:42
因项目的需求,自己动手写了一个 PostCSS 插件 postcss-px2vw ,主要用于将 px 转成 vw 和 rem , rem 作为回退模式。也刚好借此机会总结一下 npm 包的发布流程,文章还会介绍到七牛云图片的使用与上传相关的技巧,以及期间遇到的一些问题。 为什么需要它 转换 px 单位的插件有很多,知名的有 postcss-px-to-viewport 和 postcss-pxtorem ,前者是将 px 转成 vw ,后者是将 px 转成 rem 。 起初是看了大漠的一篇文章 《如何在Vue项目中使用vw实现移动端适配》 ,于是怀着激动的心情,就在项目中也使用 vw 来做移动端的适配。该文章大力推行用 vw 代替 rem 做适配,在 amfe-flexible 项目文档中也推荐 vw 的替代方案。但是考虑到移动端对 vw 的支持情况不如 rem ,所以仍有很多项目都选择使用 rem 来布局。于是就想到将 rem 作为一种回退机制,或许觉得没必要,直接放弃 vw 使用 rem 不就完了?确实,不过既然是折腾,也就不需要那么多理由了,其实 饿了么平台 就用了此方案。 关于移动端适配方案,也有一些个人的亲身体会,有时间另启一篇文章详细总结一下 。 实现方案 首先,得提一下 CSS 样式的回退原理:当 CSS 遇到无法识别的一些样式时,不会报错,而是忽略它

rem怎么计算

故事扮演 提交于 2020-03-02 21:47:42
px: 相对长度单位。像素px是相对于显示器屏幕分辨率而言的 em: 相对单位,继承父节点(层层继承,传递)基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。 rem: 相对单位,相对长度单位。r’是“root”的缩写,相对于根元素 <html> 的字体大小, 可理解为”root em”, 相对根节点html的字体大小来计算, CSS3 新加属性,chrome/firefox/IE9+支持。 (另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem的计算还是以12px为基准,所以网上很多文章提到的将html的font-size设为10方便计算不是那么可取)。 rem在移动端应用可参考淘宝的页面 http://m.taobao.com (html的font-size通过动态计算获取) 注:需设置meta缩放比1:1 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> vw: viewpoint

css3单位:px,em,rem,vh…

丶灬走出姿态 提交于 2020-03-02 21:41:57
小伙伴们,你们听说过多少?我们在前端切图项目中用到的有px,em,rem,vh,% 其他基本没用到过了。特别是vh ,特别好用。 附所有css单位,应该是最全的了 px: 绝对单位,页面按精确像素展示 em: 相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。 rem: 相对单位,可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。 vw: viewpoint width,视窗宽度,1vw等于视窗宽度的1%。 vh: viewpoint height,视窗高度,1vh等于视窗高度的1%。 vmin: vw和vh中较小的那个。 vmax: vw和vh中较大的那个。 %:百分比 in:寸 cm:厘米 mm:毫米 pt:point,大约1/72寸 pc:pica,大约6pt,1/6寸 ex:取当前作用效果的字体的x的高度,在无法确定x高度的情况下以0.5em计算(IE11及以下均不支持,firefox/chrome/safari/opera/ios safari/android browser4.4+等均需属性加么有前缀) ch:以节点所使用字体中的“0”字符为基准,找不到时为0.5em(ie10+,chrome31+

viewport rem 基本认识

◇◆丶佛笑我妖孽 提交于 2020-03-02 17:56:55
今天某傻子问我viewport rem的问题,由于太忙,下午才匆忙的给她叨叨了两句,我估计她也是懵的吧,因此,在这复习记录一下这两点知识。 viewport 翻译过来就是 “视区”,简单来说,就是移动端显示网页的区域,或者说是app中webView的大小,它和浏览器可视区域的大小不同,它可能比浏览器的可视区域要大,也可能比浏览器的可视区域要小。一般来说,移动设备上的viewport都是要大于浏览器可视区域的,所以开发时在移动端显示网页经常出现滚动条。 很多资料中都有viewport三个理论的说法: layout viewport visual viewport ideal viewport 这里简单解释一下: layout viewport: 因为移动设备的屏幕都不是很宽,为PC端浏览器所设计的网页在移动端显示,整改布局就会乱掉,另外css中的1px并不代表屏幕的1px,你分辨率越大,css中1px代表的物理像素就会越多,DPR(devicePixelRatio)的值也越大,因为你分辨率增大了,但屏幕尺寸并没有变大,必须让css中的1px代表更多的物理像素,才能让1px的东西在屏幕上的大小与那些低分辨率的设备差不多,不然就会因为太小而看不清,所以浏览器就决定默认情况下把viewport设为一个较宽的值(比如:980px)

Canal+Kafka实现MySql与Redis数据一致性

[亡魂溺海] 提交于 2020-03-02 14:26:40
  在生产环境中,经常会遇到MySql与Redis数据不一致的问题。那么如何能够保证MySql与Redis数据一致性的问题呢?话不多说,咱们直接上解决方案。   如果对Canal还不太了解的可以先去看一下官方文档: https://github.com/alibaba/canal   首先,咱们得先开启MySql的允许基于BinLog文件主从复制。因为Canal的核心原理也是相当于把自己当成MySql的一个从节点,然后去订阅主节点的BinLog日志。    开启BinLog文件配置   1. 配置 MySQL 的 my.ini/my.cnf 开启 允许基于 binlog 文件主从同步 log-bin=mysql-bin #添加这一行就ok binlog-format=ROW #选择row模式 server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复   配置 该文件后,重启 mysql 服务器即可   show variables like 'log_bin';//查询MySql是否开启了log_bin. 没有开启 log_bin 的值是 OFF, 开启之后是 ON   2. 添加cannl 的账号 或者直接使用自己的 root 账号。添加完后 一定要检查 mysql user 权限为 y(SELECT* from `user`

为解压版的Tomcat创建一个窗口服务(修正版)

旧时模样 提交于 2020-03-02 00:03:44
一,配置环境变量 1, 把JDK安装到C:\ Program Files文件\的Java \ jdk1.6.0, 下载免安装版tomcat6.0(Tomcat的邮编)压缩包, 把Tomcat的解压放到C:\ Tomcat6.0下 2, 添加系统环境变量: JAVA_HOME = C:\ Program Files文件\的Java \ jdk1.6.0 CLASSPATH =.;%JAVA_HOME%\ lib中 TOMCAT_HOME = C:\ Tomcat6.0 修改系统环境变量PATH,在它的最前面加入: %JAVA_HOME%\ BIN; 注:放在最前面是预防有其它的JDK或JRE路径占先,如你装了甲骨文就会有一个低版本的JRE。 二配置Tomcat的启动环境 ( 注意,如果已经象前面那样设置过了,这里就可以跳过了) 1,修改的startup.bat文件: 在第一行前面加入如下两行 - SET JAVA_HOME = JDK目录 SET CATALINA_HOME =前面解压后的Tomcat的目录 片段如下: @ ECHO OFF SET JAVA_HOME = C:\ Program Files文件\的Java \ jdk1.6.0 SET CATALINA_HOME = C:\ Tomcat6.0 REM授权给Apache软件基金会(ASF)根据一个或多个

vue-cli rem布局配置方案

≯℡__Kan透↙ 提交于 2020-03-01 23:24:34
安装postcss-px2rem npm i postcss-px2rem --save npm install px2rem-loader --save 配置px2rem build目录下vue-loader.conf.js中,做如下修改: module . exports = { loaders : utils . cssLoaders ( { sourceMap : isProduction ? config . build . productionSourceMap : config . dev . cssSourceMap , extract : isProduction } ) , transformToRequire : { video : 'src' , source : 'src' , img : 'src' , image : 'xlink:href' } , postcss : [ require ( 'postcss-px2rem' ) ( { 'remUnit' : 75 , 'baseDpr' : 2 } ) ] /*因为我是以750px(iphone6)宽度为基准,所以remUnit为75*/ } 在static目录中,建js文件夹,放flex.js: ( function ( win , lib ) { var doc = win .

CSS3中的rem值与px之间的换算

北城以北 提交于 2020-02-29 03:13:15
看CCS文件的时候发现引入了一个新大小单位:rem,CSS文件里有介绍,看半天拿着手机计算了几下愣是没搞明白,怕是新东西搜出来的都是英文看着累就没找google,而是百度了一下,百度的结果就是看到一篇文章被转来转去,来转去,转去,去。。。 郁闷之下回到主题的CSS再看那介绍,打开电脑的计算器,一计算,居然被我整明白了,原来原先计算值不等是因为我手机的计算器设置了保留两位小数点的原因,真实囧。。。 其实px和em的关系我都没整明白,就来说这个rem让我觉得很忐忑的。。。 rem好像也是一个相对大小的值,它是相对于根元素<html>,比如假设,我们设置html的字体大小的值为 html{font-size: 87.5%;} (也就是14px,这是twentytwelve默认主题里的设置)。然后其他的字体就是 将你要的值除以14得到的值 ; 比如默认的twentytwelve主题大小是960px;换算成rem就是960/14=68.57142857142857rem(我这个用电脑的计 算器计算的,比默认的更精确,嘿嘿);padding的24px也就是24/14=1.714285714285714rem(当然还是比css文件里的 精确),以此类推。 上面的14是个变量,相对于你对根元素html字体大小的设定,如果你设定的是62.5%,那除数就变成10了,对照表如右图:

px 、em、rem的关系

懵懂的女人 提交于 2020-02-27 18:05:36
px 总所周知的是px,俗称像素,固定大小,就不废话了 em em单位的名称为相对长度单位,它是用来设置文本的字体尺寸的,它是相对于当前对象内文本的字体尺寸;一般浏览器默认16px,就是说如果不设置,那么1em=16px; 且 em 是相对于父级元素的单位,会随父级元素的属性( font-size 或其它属性)变化而变化, 比如如果父元素的font-size为12px,那么子元素的的font-size的1em就是12px,2em就是24px.如下 //父元素 div{ font-size: 12px; } //子元素 p { font-size: 2em;//当前font-size:24px height: 2em;//height:48px background: orangered; width: 2em;//width:48px margin: 1em;//margin: 24px; } 为什么宽高和margin不对呢,其实子元素的除了font-size继承父元素的,其他的需要用到em的都是根据自身来计算的 注意:如果继承的属性值通过计算小于12px,那么获得的值就是12px。 rem 与em不同的是,rem不是根据父元素,而是根据根元素,如下 html{ font-size: 14px; } span{ font-size: 2rem;//font-size: 28px;