cytoscape.js: 设置节点标签字体大小小于一

cytoscape.js: set node label font-size less than one

我发现对非常小的边缘宽度和节点边框宽度有很好的支持,当我们深入放大时非常有用:

cy.edges().style({"width": 0.01})
cy.nodes().style({“border-width”: 0.01})

但 font-size 的可塑性较差:任何小于 1 的 font-size 似乎都被限制为 1。因此,从 javascript 控制台执行的以下命令中的最后三个命令产生相同的结果:

cy.nodes().style({"font-size": 10})    // big font
cy.nodes().style({"font-size": 1})     // much smaller
cy.nodes().style({"font-size": 0.1})   // unchanged
cy.nodes().style({"font-size": 0.01})  // unchanged

在每种情况下(以最后一个为例)字体大小 属性 似乎都已正确分配:

cy.nodes().style("font-size”)   // “0.01px"

但渲染的节点大小仍为 1。有什么想法吗?

谢谢!

已在 Github 上回答此问题。这是一些浏览器存在的问题,库中无法更改浏览器的行为

--

复制自Github:https://github.com/cytoscape/cytoscape.js/issues/1173

这是浏览器如何在 canvas 中实现字体呈现的限制。在这种情况下,图书馆方面我们无能为力。

我唯一的建议是扩大你的风格。将字体大小乘以一个系数,使字体大小至少为 1 像素。虽然字体大小无法缩放,但缩放级别可以任意缩放。您的缩放级别会有所不同,但无论如何缩放只是一个相对度量。