修改备注弹窗的字体, 字号, 窗口大小

本贴最后更新于 239 天前,其中的信息可能已经事过景迁

image.png

请问如何修改默认的备注弹窗的字体,字号,窗口大小, 原来的字体太小, 太费眼睛了, 感谢感谢!

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119768 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    11155 引用 • 50651 回帖 • 52 关注

相关帖子

被采纳的回答
  • wilsons 1

    css 改不了,需要 js 修改

    image.png

    代码

    // 修改备注的样式
    // 0.0.2 增加备注提示窗也应用和弹窗一样的样式
    {
        // 这里设置样式即可
        const styles = {
            width: '400px', // 窗口宽,严格意义上是输入框的宽高,修改这个会自动让窗口变化
            height: '200px', // 窗口高,同上
            fontSize: '18px', // 字体大小
            lineHeight: '180%', // 行间距
            color: '#ff0000', // 文字颜色,不修改把这行删除或注释即可
            fontFamily: '"中華民國字體", var(--b3-font-family-protyle)', // 字体,修改第一个双引号里的内容即可
        };
    
        // 是否把样式同样应用于备注的提示窗上 true 应用 false 不应用
        const isAlsoUseInMemoTips = false;
    
        // 备注的提示窗样式,默认与弹出框完全一样
        const memoTipsStyle = {
            ...styles, // 克隆弹窗样式
            width: '', // 提示窗的宽度,为空则使用备注提示默认宽度
            height: '', // 提示窗的高度,为空则使用备注提示默认高度
           maxWidth: 'none', // 最大宽度
            // 默认备注提示都是黑色,这里更改为根据主题显示不同
            backgroundColor: 'var(--b3-theme-background)',
            border: '1px solid #88888855', // 提示窗边框,颜色最后2位代表透明度,00完全透明 FF完全不透明
            padding: '10px', // 提示窗内边距
        };
      
        observerProtyleUtil((util)=>{
            const isMemo = util.querySelector('.fn__flex-1.resize__move')?.textContent?.trim() === window.siyuan.languages.memo;
            if(!isMemo) return;
            const textarea = util.querySelector('textarea');
            if(!textarea) return;
            Object.assign(textarea.style, styles);
        });
    
        if(isAlsoUseInMemoTips) {
            (document.querySelector('.layout__center, #editor')||document.body).addEventListener('mouseover', (e) => {
                const memo = e.target.closest('[data-type="inline-memo"]');
                if(!memo) return;
                setTimeout(()=>Object.assign(document.querySelector('#tooltip').style, memoTipsStyle), 50);
            });
        }
      
        function observerProtyleUtil(callback) {
            let hasEmit = false;
            // 1. 创建 MutationObserver 实例
            const observer = new MutationObserver((mutationsList) => {
              mutationsList.forEach((mutation) => {
                // 2. 获取目标元素
                const targetElement = mutation.target;
                // 3. 检查目标元素是否是 .protyle .protyle-util
                if (targetElement.matches('.protyle .protyle-util')) {
                  // 4. 检查 .fn__none 类是否被删除
                  if (!targetElement.classList.contains('fn__none')) {
                      if(hasEmit) return;
                      hasEmit = true;
                      callback(targetElement);
                      setTimeout(() => {
                          hasEmit = false;
                      }, 100);
                  }
                }
              });
            });
            // 5. 配置并启动监听
            observer.observe(document.querySelector('.layout__center, #editor')||document.body, {
              //childList: true, // 监控子节点的变化
              attributes: true, // 监听属性变化
              attributeFilter: ['class'], // 只监听 class 属性
              subtree: true,    // 监听所有后代元素
            });
        }
    }
    

    只需要修改 styles 参数里的样式即可。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • GloR

    备注不支持富文本,可以试试脚注插件

  • 其他回帖
  • wilsons 1

    可以的,但不用提问了,我空了更新一版,加个参数,如果想同时修改提示样式,参数设为 true 就行了

  • 你从哪复制的代码?为什么代码都缩到一块了。

    都报错了,肯定没用了。

    先复制正常的代码再试。

  • 备注的 提示窗(非编辑框)的窗口宽度修改是失效的,高度我没测试不确定。宽度我重启测试了几遍,似乎是超过某个宽度就不再变化了(可能是 400?),超过后即使设为 width: '700px' 也不起作用了。

    你是哪个帖子为问题,是你之前的那个自定义备注还是这个帖子里的备注,建议在有问题的贴子回复,不然太混乱了,不知道是哪个问题
    wilsons
    @wilsons 是这个行级备注的帖子
    8V9q7V
    @8V9q7V memoTipsStyle 参数加 maxWidth: '700px', 就好了。也可以这样 maxWidth: 'none', 以后就只需要改宽度就好了,注意最后有个英文逗号,原代码已修改。
    wilsons 1
  • 查看全部回帖

推荐标签 标签

  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    502 引用 • 1397 回帖 • 240 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    23 引用 • 22 回帖
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 44 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 563 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    308 引用 • 773 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 429 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    45 引用 • 44 回帖 • 1 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1128 回帖 • 93 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    8 引用 • 69 回帖 • 6 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 6 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    960 引用 • 946 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 436 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 260 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 693 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 203 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 531 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 475 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    85 引用 • 324 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 60 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 707 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 413 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 2 关注
  • V2Ray
    1 引用 • 15 回帖 • 4 关注