【发布时间】:2015-06-22 21:25:31
【问题描述】:
我在 HTML 画布中绘制了很多图形和元素。它们都有不同的颜色、笔触等。我真的不喜欢所有这些值都在我的 JS 代码中徘徊,因为有些样式在 CSS 中,有些在代码中。
有人知道在 CSS 中定义样式并在实际渲染对象时读取样式的好方法吗?
这是我需要做的一些示例:
context.beginPath();
context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
context.fillStyle = 'green'; // I'd like to set with CSS
context.fill();
context.lineWidth = 5; // I'd like to set with CSS
context.strokeStyle = '#003300'; // I'd like to set with CSS
context.stroke();
【问题讨论】:
-
我也做了一些画布,我认为你不能使用类,因为 Canva 并没有真正做 DOM 元素,但是如果你必须使用多次相同的样式,你可以使用保存/恢复。 an example
-
虽然 html canvas 是一个 DOM 元素,但它实际上是构成您在画布上绘制的形状的像素的容器。这意味着 CSS 不能影响画布上的形状。如果您想将上下文形状样式与您的应用分开存储,您可以考虑将这些上下文形状样式存储在一个单独的 JSON 文件中,您可以在应用开始时读取该文件。
标签: javascript html css canvas