V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeekSky
V2EX  ›  程序员

前端能不能实现只更改数字的字体?

  •  
  •   GeekSky · 2020-05-25 08:59:49 +08:00 · 4833 次点击
    这是一个创建于 1403 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个 wordpress 的主题,中文和英文字体我都喜欢,就是数字使用的字体太难看了,可以只更改数字的字体吗?

    第 1 条附言  ·  2020-05-25 10:37:58 +08:00
    大佬们说的太高端了,我不会弄……
    算了,直接 body {font-family:"Microsoft YaHei";}吧……
    还有个问题想请教,就是 wordpress 页脚都有一行自豪的使用 wordpress,怎么使用额外 CSS 在下面再加一行写备案号呢?注意不是修改页脚文件,是使用额外 CSS 。
    16 条回复    2020-05-25 17:19:52 +08:00
    luzemin
        1
    luzemin  
       2020-05-25 09:04:02 +08:00
    找个只有数字的字体,应用样式的时候写在第一位,那就只影响了数字。理论应该是这样。比如:font-family:NumberFonts,defaultFonts
    codehz
        2
    codehz  
       2020-05-25 09:09:58 +08:00
    (@font-face unicode-range 了解一下,可以根据 unicode 范围来决定使用某种字体
    https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/unicode-range
    murmur
        4
    murmur  
       2020-05-25 09:50:27 +08:00
    当然可以,反爬虫的必修课就是修改数字的字体
    geelaw
        5
    geelaw  
       2020-05-25 09:56:45 +08:00 via iPhone   ❤️ 1
    另外一提,unicode-range 的技巧常用于选择正确的标点字形,例如希望文本里的拉丁文本使用字体 A 、汉语文本使用字体 B 。
    由于汉语字体包括拉丁文本的,你需要设置字体为 A B,但这会导致引号、省略号使用拉丁文本字形。
    此时可以用 font-face + unicode-range 设置字体 C,它只包括引号、省略号,并使用字体 B 的字形。最后设置字体为 C A B 即可。
    lupkcd
        6
    lupkcd  
       2020-05-25 10:09:09 +08:00
    1L 方法可行
    darmau
        7
    darmau  
       2020-05-25 10:24:26 +08:00
    2 楼正解。

    如果没有那种只有数字的字体咋办?还得自己再拆开做个字体出来?
    a62527776a
        8
    a62527776a  
       2020-05-25 10:29:42 +08:00
    我以前用过 Fontmin 这个工具 可以把字体中你想要的部分拆出来
    a62527776a
        9
    a62527776a  
       2020-05-25 10:30:10 +08:00
    gitjavascript
        10
    gitjavascript  
       2020-05-25 10:35:15 +08:00
    可以啊,换个数字字体就好了啊
    ODD10
        11
    ODD10  
       2020-05-25 10:37:33 +08:00 via iPhone
    @darmau #7
    用字蛛,http://font-spider.org/
    可以利用压缩提取想要的字体
    ODD10
        12
    ODD10  
       2020-05-25 10:40:56 +08:00 via iPhone
    如果像楼上直接使用只用多套字体,体积不小,纯数字推荐自己压缩再使用
    sunziren
        13
    sunziren  
       2020-05-25 11:00:00 +08:00
    13 楼正解
    baobao1270
        14
    baobao1270  
       2020-05-25 11:14:07 +08:00
    第一个问题我说个比较 dirty 的解决方法:js 查找数字,然后替换为 <span class="number-font">数字</span>,在 number-font 类应用数字字体。好处非纯数字字体也可这样用,不用拆字体(拆字体也会引发法律问题),而且简单粗暴,不需要额外的学习成本。

    第二个问题,首先你要知道这样做并不对搜索引擎友好,如果工信部使用自动化脚本核查的话,也很有可能认为你没有标注备案号。如果你一定要这么做的话,可以用 CSS 的 ::after 伪类。
    red2dog
        15
    red2dog  
       2020-05-25 15:01:52 +08:00
    @font-face 可以指定使用字体的字符的。你搜一下就有了。我们 app 网页就是数字指定等宽的商业字体。字体文件是设计师给的。
    elevencloud
        16
    elevencloud  
       2020-05-25 17:19:52 +08:00
    用字蛛把数字 0-9 抽离一下吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:32 · PVG 18:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.