Тег <canvas> — полотно HTML5: графіка й ігри в браузері
HTML тег <canvas> (англ. canvas - полотно) - це контейнер для графіки.
Тег <canvas> використовується, щоб за допомогою скриптів, зазвичай JavaScript, динамічно створювати різні об'єкти, ігри, зображення, анімації, трансформувати їх та змінювати їх властивості.
Загальний опис
автор: NagarD
- Порада
-
Тег
автор: с3с<canvas>є тільки контейнером для графіки, ви повинні використовувати скрипти, щоб малювати в такому контейнері. - Нотатка
-
Текст всередині елемента
автор: с3с<canvas>буде відображатися в браузерах, які не підтримують тег<canvas>.
Синтаксис
<canvas id="ідентифікатор">
</canvas>
| Атрибут | Опис |
|---|---|
| accesskey | Дозволяє активувати або сфокусуватись на елементі за допомогою заданого сполучення клавіш. |
| class | Визначає один або кілька класів, щоб зв’язати елемент з таблицею стилів (CSS). |
| draggable | Визначає чи можна перетягувати елемент. |
| contenteditable | Дозволяє редагувати текст в середні тегу. |
| dir | Вказує напрямок тексту. |
| dropzone | Вказує, що робити з перетягувати елементи. |
| hidden | Приховує вміст елемента від перегляду. |
| id | Задає унікальний ідентифікатор для елемента. |
| lang | Визначає основну мову вмісту елемента |
| spellcheck | Вказує браузеру перевіряти чи ні правопис і граматику в тексті елемента. |
| style | Задає вбудований (inline) CSS стиль для елемента. |
| tabindex | Встановлює порядок отримання фокусу при переході між елементами за допомогою клавіші Tab. |
| title | Вказує додаткову текстову підказку |
| translate | Повідомляє браузеру переводити вказаний текст в елементі чи ні. |
| contextmenu | Контекстне меню для елемента |
| Атрибут | Опис |
|---|---|
| onafterprint | Скрипт виконується тільки після як документ надрукований. |
| onbeforeprint | Скрипт виконується перед тим, як документ надрукований. |
| onbeforeunload | Скрипт виконується коли документ ось-ось буде вивантажений |
| onhashchange | Скрипт виконується коли там відбулися зміни до частини якоря в URL |
| onload | Викликається після того як завантаження елемента завершене. |
| onmessage | Скрипт виконується коли викликане повідомлення. |
| onoffline | Спрацьовує коли браузер починає працювати в автономному режимі |
| ononline | Спрацьовує коли браузер починає працювати в режимі онлай. |
| onpagehide | Скрипт виконується коли користувач переходить на іншу сторінку сторінку. |
| onpageshow | Скрипт виконується коли користувач заходить на сторінку. |
| onpopstate | Скрипт виконується коли змінено історію одного вікна. |
| onresize | Скрипт виконується, коли розмір вікна браузера змінюється. |
| onstorage | Скрипт виконується, коли вміст Web Storage оновлюється. |
| onunload | Викликається, коли сторінка розвантажена, або вікно браузера було зачинено. |
| onblur | Скрипт виконується, коли елемент втрачає фокус. |
| onchange | Викликається в той момент, коли значення елемента змінюється. |
| oncontextmenu | Скрипт виконується коли викликається контекстне меню. |
| onfocus | Викликається в той момент, коли елемент отримує фокус. |
| oninput | Скрипт викликається коли користувач вводить дані поле. |
| oninvalid | Скрипт виконується, коли елемент недійсний. |
| onreset | Викликається, коли натискається у формі кнопка типу Reset. |
| onsearch | Викликається, коли користувач щось пише в поле пошуку (для <input type="search">) |
| onselect | Викликаєтсья після того як будь-який текст був обраний в елементі. |
| onsubmit | Викликається при відправленні форми. |
| onkeydown | Подія викликається, коли користувач затис (натиснув та не відпускає) клавішу. |
| onkeypress | Викликається коли корисрувач натиснув на клавішу. |
| onkeyup | Викликається коли користувач відпускає клавішу. |
| onclick | Подія викликається коли користувач клацає ЛКМ по елементу. |
| ondblclick | Виникає при подвійному клацанні ЛКМ на елементі. |
| ondrag | Періодично викликається при операції перетягування. |
| ondragend | Викликається коли користувач відпускає перелягуваний елемент. |
| ondragenter | Викликається, коли перетягуваний елемент входить в цільову зону. |
| ondragleave | Викликається, коли перетягуваний елемент виходть з зони призначення. |
| ondragover | Викликається, коли перетягуваний елемент знаходиться в зоні призначення. |
| ondragstart | Викликається, коли користувач починає перетягувати елемент, або виділений текст. |
| ondrop | Викликається, коли перетягуваний елемент падає до зони призначення. |
| onmousedown | Викликається, коли користувач затискає ЛКМ на елементі. |
| onmousemove | Викликається, коли курсор миші переміщається над елементом. |
| onmouseout | Викликається, коли курсор виходить за межі елемента. |
| onmouseover | Виконується, коли курсор наводиться на елемент. |
| onmouseup | Викликається, коли користувач відпускає кнопку миші. |
| onscroll | Викликається при прокручуванні вмісту елемента (чи веб-сторінки). |
| onwheel | Викликається, коли користувач прокручує коліщатко миші. |
| oncopy | Викликається, коли користувач копіює вміст елемента. |
| oncut | Викликається, коли користувач вирізає вміст елемента. |
| onpaste | Викликається, коли користувач вставляє вміст в елемент. |
| onabort | Виконується при перериванні якоїсь події. |
| oncanplay | Скрипт виконується коли файл готовий, для початку відтворення (коли він буферизований достатньо, щоб почати відтворення) |
| oncanplaythrough | Скрипт виконується, коли контент вже може бути відтворений без переривання на буферизацію. |
| oncuechange | Скрипт виконується коли змінюється кий в <track> елемента |
| ondurationchange | Викликається коли змінюється довжина медіа файлу. |
| onemptied | Викликається коли доступ до медіа контенту обривається (зникло з’єднання з мережею). |
| onended | Викликається коли медіа елемент повністю відтворив свій зміст. |
| onshow | Викликається, коли елемент <menu> буде відображено як контекстне меню. |
| onloadedmetadata | Скрипт виконується коли метадані (розміри чи тривалість) завантажуються. |
| onloadeddata | Викликається коли медіа данні завантажено. |
| onloadstart | Викликається коли браузер тільки починає завантажувати медіа дані з сервера. |
| onpause | Викликається коли відтворення медіа даних призупинено. |
| onplay | Скрипт викликається коли медіа дані готові почати відтворення. |
| onplaying | Викликається коли розпочато відтворення медіа даних. |
| onprogress | Подія onprogress відбувається, коли браузер завантажує вказане аудіо / відео. |
| onratechange | Викликається коли змінюється швидкість відтворення медіа даних. |
| onseeked | Викликається коли атрибут seeked у тега audio або video змінює значення з true на false. |
| onseeking | Викликається коли атрибут seeking у тегів audio або video змінює значення з false на true |
| onstalled | Скрипт виконується коли браузер з будь-якої причини не може отримати медіа дані. |
| onsuspend | Скрипт виконується коли з будь-якої причини завантаження данних призупинено до його повного завантаження. |
| ontimeupdate | Викликається коли змінилася позиція відтворення елемента <audio> або <video>. |
| onvolumechange | Викликається коли змінюється гучність звуку. |
| onwaiting | Викликається коли наступний кадр при відтворенні медіа даних недоступний, але браузер очікує що він незабаром завантажиться. |
| ontoggle | Викликається, коли користувач відкриває або закриває елемент <details>. |
| onerror | Викликається якщо при завантаженні елемента сталася помилка. |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1.5 | 2 | 9 | 12 | 9 |
| Переглядач | ||||
|---|---|---|---|---|
| 37 | 18 | 4 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
Найпростіший приклад використання HTML теґа <canvas>
HTML
<h3>Приклад використання тегу <code>canvas</code></h3>
<p>Шахматна дошка</p>
<canvas id='chessboard'>Шахматна дошка</canvas>
JS
var canvas = document.getElementById("chessboard");
var context = canvas.getContext('2d');
canvas.width = 300;
canvas.height = 300;
context.strokeRect(15, 15, 266, 266);
context.strokeRect(18, 18, 260, 260);
context.fillRect(20, 20, 256, 256);
for (i = 0; i < 8; i += 2) {if (window.CP.shouldStopExecution(0)) break;
for (j = 0; j < 8; j += 2) {if (window.CP.shouldStopExecution(1)) break;
context.clearRect(20 + i * 32, 20 + j * 32, 32, 32);
context.clearRect(20 + (i + 1) * 32, 20 + (j + 1) * 32, 32, 32);
}window.CP.exitedLoop(1);}window.CP.exitedLoop(0);
//# sourceURL=pen.js
Найпростіший приклад використання HTML теґа <canvas>
HTML
<h3>Приклад використання тегу <code>canvas</code></h3>
<p>Градієнтне зображення</p>
<canvas id="lineargradient" width="300" height="300"></canvas>
JS
var canvas = document.getElementById("lineargradient");
var context = canvas.getContext("2d");
var gradient = context.createLinearGradient(0, 0, 290, 150);
gradient.addColorStop(0.0, 'blue');
gradient.addColorStop(0.5, 'red');
gradient.addColorStop(1.0, 'green');
context.fillStyle = gradient;
context.fillRect(0, 0, 290, 290);
//# sourceURL=pen.js
Найпростіший приклад використання HTML теґа <canvas>
HTML
<h3>Приклади використання тегу <code>canvas</code></h3>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
</canvas>
<canvas id="myCanva" width="200" height="100" style="border:1px solid #d3d3d3;"></canvas>
<canvas id="Canvas" width="200" height="100" style="border:1px solid #d3d3d3;"></canvas>
JS
var c = document.getElementById("myCanva");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
var c = document.getElementById("Canvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
//# sourceURL=pen.js
Різниця між HTML 4.01 та HTML5
Тег <canvas> з'явився тільки в HTML5. </canvas>
Коментарі
Коментарів ще немає — будьте першим!