【发布时间】:2015-12-19 10:12:24
【问题描述】:
目前,我们在画布上书写文本时使用硬编码样式:
ctx.setTransform(1,0,0,1,0,0);
ctx.fillStyle = "#2F353C";
ctx.font = "15px 'Roboto', sans-serif";
ctx.fillText(varName || '', 5, 12);
我非常希望将实际样式信息存储在 CSS 文件中,并以某种方式从那里访问它。 (我并不期待奇迹,比如 CSS 会神奇地应用于画布中呈现的元素......)
我能想到的唯一方法是在画布后面创建一些文本元素,为它们分配类,然后以某种方式访问它们的计算属性,将它们传递给画布元素。
有没有更好的办法?
【问题讨论】:
-
我已经完成了一些技巧,比如在 CSS 样式表中为网站配色方案创建特殊类,然后为每个类创建页面元素,以便我可以(从 JavaScript)从DOM 元素。我真的希望有一种不那么可怕的方式来做到这一点。
-
既然可以使用预期的(也是最好的)工具:JavaScript,为什么还要添加昂贵的间接级别(CSS-to-JS-to-canvas)?
-
出于显而易见的原因,希望将所有样式信息保存在一个地方(以及设计师可以访问的地方)。
标签: javascript css html canvas