Вложенные элементы CANVAS - PullRequest
11 голосов
/ 10 июня 2011

Возможно ли иметь элемент внутри другого элемента? Я знаю, что могу их наслоить, но возможно ли это -

<canvas id="parent">
    <canvas id="child"></canvas>
</canvas>

Я пытался, но, похоже, не работает.

Ответы [ 4 ]

17 голосов
/ 10 июня 2011

Спецификация canvas не допускает этого. Элемент canvas может использоваться во встроенном контенте контента; вложение элемента canvas помещает его в резервный контекст содержимого, который не поддерживается.

6 голосов
/ 18 декабря 2012

Если вы хотите обрабатывать фон и передний план отдельно, вы можете использовать два холста и поместить один над другим с помощью css.

<canvas id="bg" width="640" height="480" style="position: absolute; z-index: 0">
</canvas>
<canvas id="fg" width="640" height="480" style="position: absolute; z-index: 1">
</canvas>

На самом деле это один из советов по улучшению производительности холста. Источник: HTML5 Скалы

0 голосов
/ 08 ноября 2018

Вы можете, как сказал Исаак Сепеда в своем ответе, иметь разные идентификаторы холста и индексы z.Вам также нужно назвать почти все переменные и функции для каждого холста как-то по-другому, чтобы вы не рисовали на холсте A, когда хотите рисовать на холсте B.

0 голосов
/ 05 апреля 2013

Возможно, вы захотите сделать виртуальное встраивание, переводя различные позиции на холсте.

Вот пример этого:

http://marketimpacts.com/storage/9781118385357%20ls0702%20Complex%20Objects.htm

Это из:

http://www.amazon.com/HTML5-Canvas-For-Dummies-Cowan/dp/1118385357/ref=cm_cmu_up_thanks_hdr

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...