首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    详解android 中文字向上偏移解决方案

    在开发 webapp 时,发现在 android 端的中文会莫名其妙的向上偏移。为了解决这个问题,尝试了很多方法,最后使用以下解决方案。...1.bug 出现 目前在开发 webapp,在调试的时候,发现项目里面的中文有一点向上偏移。具体表现为:使用开发者工具去查看元素,元素的真实高度和位置与文字不同。...这个插件的原理是将字体文件中的字符集进行筛选,生成的新的字体文件中,只包含要使用到的文字字符集。 3.最终的方案 虽然fontmin可以进行字符集筛选,但是项目中到底需要哪些中文文字是不确定的。...// fontmin-config.js var Fontmin = require("fontmin") var srcPath = "..../fontmin-config.js 3.3 配置 css // global.css @font-face { font-family: "my-font"; src: url("..

    1.1K10

    巧用 background-clip 实现超强的文字

    最近,有同学询问,如何使用 CSS 实现如下效果: 看起来是个很有意思的效。 仔细思考一下,要想实现这类效果,其实用到的核心属性只有一个 -- background-clip: text。...其核心就在于以区块内的文字作为裁剪区域向外裁剪,文字的背景即为区块的背景,文字之外的区域都将被裁剪掉。...假设,我们有这样一个 Gif 图: 我们可以利用这张图和文字,实现一版,文字版的图: Lorem .........,也可以使用一些现成的 Gif 图替代,譬如这样一个 Gif 图作为 元素的背景: image.png 有了会动的效果之后,我们稍微改造下代码,运用上 background-clip: text...这里,我们继续优化下代码,我们希望能把被 grayscale() 处理过的原图的明暗部分置换,刚好,在 filter 中,存在一个 invert() 函数,能够反转输入图像的色值。

    77830

    图学JS异步: Promises & AsyncAwait

    此时,事件循环或者说JS引擎发现调用堆栈为空,它会检查是否有在microtask队列中排队的任务!结果发现确实有,promise的then回调在等待执行!...JS引擎看到调用堆栈是空的,所以它会再次检查microtask队列,查看是否还有任务在进行排队。发现没有,microtask队列也是是空的。...于是JS引擎会去检查macrotask queue,发现setTimeout callback仍然在等待执行!...让我们看看当我们运行下面的代码块会发生什么: ? 嗯..这里发生了什么? ? 首先,JS引擎执行到console.log。它被弹出到调用堆栈,然后执行,打印结果Before function!...由于await关键字使得async函数 myFunc被挂起,JS引擎跳出异步函数,回到全局作用域上下文继续执行代码。于是执行console.log(),打印结果,弹出调用堆栈。 ?

    1.1K20

    图学 JavaScript 之: JS 引擎原理

    前言 JS 实在是太酷了(认真脸),那你有没有想过机器是怎么解析 JS 代码的?...作为一个 JS 开发者,一般我们不需要直接跟编译器打交道,但是如果可以了解其中的基本原理,相信会对以后的工作和学习都有帮助的!...本篇介绍的知识主要基于 Node.js 和基于 Chromium 的浏览器所用的 V8 引擎 生成抽象语法树 HTML 解析器在遇到 script 标签时,便会加载其中的代码。...解释器在逐条解释执行字节码时,会分析是否有某段代码被多次执行,这样的代码被称为 热点代码。...如果 JS 引擎每次都要检查数据的类型,那速度将会非常慢。 所以引擎就使用了一种叫做 内联缓存 (inline caching) 的技术。

    2K20

    自下向上的编写容易阅读的代码(上)

    我在 关于极简编程的思考 中曾提到要编写可阅读的代码。因为代码是编写一次,阅读多次。 阅读者包括代码编写者,以及后来的维护人员。能让阅读代码更轻松,有利于增强项目或者产品的可维护性。...本博客分为上下俩部分,第一部分讲解在代码层次 编写可阅读的代码, 第二部分讲解方法,类,以及一些设计上的考虑 让代码更适合阅读。...; .......省略50行代码 这段代码如果单独看尚可,如果这是在成百行代码的一部分,建议放到一个小方法里,比如,重构为 .........; } 重构后,代码阅读者每次看到这里,都会放心的跳过这部分代码。...,可能还能列出更多的规则,我个人觉得这些规则并不重要,重要的是能时刻想到后来人会如何阅读你的代码才是最重要的,如果他阅读你的代码,毫无障碍的达到一目十行,觉得你写的代码没什么高深,那就是好代码

    77180

    Flutter的js化都在蠢蠢欲

    有以下原因: 忙,有时间则在做一些技术尝试; 在团队推广上遇到困难,少了冲劲;我曾经想在某个项目上试用Flutter,但团队成员婉转表示了抗拒,因为要学习新的语法,培养新的使用习惯,也要放弃原有较完善的js...前几天腾讯团队开源了个项目并发表了一篇文章,也给了我一些灵感: 基于JS的高性能Flutter动态化框架MXFlutter 它主要是把DartVM换成JS runtime,把Dart的代码JS来实现...使用JS runtime的想法个人比较认同,但沿用Dart风格书写UI的方式不太符合我的品味,其UI构建方式应该可以再简化一点,此外,觉得既然js都仿成这样了,不如直接做Typescript版是不是会更好一点...其实腾讯的这个尝试不是一个个例,我相信应该有不少团队在做Flutter Engine的研究,基于js化的尝试也有不少。

    3.2K20

    原生JS | 导航底部横线跟随鼠标缓

    原生JS功能实现 功能代码解析 在该效果中,由于鼠标移入淡入或淡出的功能代码的原理与jQuery基本类似,所以不做重复书写,只实现导航底部跟随的效果。...逻辑(原生JS)实现相关知识 计时器; 缓冲运动; 数学对象。 计时器 通过计时器(此处使用的是setTimeout),实现在一定时间间隔之后,执行一次函数当中的功能。...数学对象 在JS当中,最小的单位为1像素,对于缓冲运动当中,所计算出的缓冲结果是存在小数的,这些小数需要计算为整数再做处理。...对于距离大于0的部分,在出现小数点的时候,应当向上进位(使用Math.ceil()方法),对于距离小于0的部分,在出现小数点的时候,应当向下退位,如将“-0.9”舍为“-1”(使用Math.floor(...关于完整代码 如需查看完整代码,请前往:http://codepen.io/majiang/pen/JWRdBB (有可能因为网络原因,导致加载速度较慢)。

    7.2K81
    领券