Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. HTML: Hypertext Markup Language
  3. HTML 참고서
  4. HTML 요소 참고서
  5. <canvas>

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

<canvas>: 그래픽 캔버스 요소

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015년 7월⁩.

HTML<canvas> 요소캔버스 스크립팅 API 또는WebGL API와 함께 사용해 그래픽과 애니메이션을 그릴 수 있습니다.

콘텐츠 카테고리플로우 콘텐츠,구문 콘텐츠,내장 콘텐츠, 뚜렷한 콘텐츠.
가능한 콘텐츠투명하지만대화형 콘텐츠가 아닌 요소. 단,<a>,<button>, 그리고<input>type 특성이checkbox,radio,button인 요소는 가능
태그 생략불가능, 시작과 끝에 태그를 추가하는 것은 필수입니다.
가능한 부모 요소구문 콘텐츠를 허용하는 모든 요소.
가능한 ARIA 역할모두
DOM 인터페이스HTMLCanvasElement

특성

이 요소는전역 특성을 포함합니다.

height

좌표 공간의 높이입니다. CSS 픽셀 단위로, 기본값은 150입니다.

moz-opaque비표준지원이 중단되었습니다

투명도가 중요한 요소인지를 캔버스에 알려줍니다. 투명도가 없음을 알게되면 페인팅 성능이 최적화됩니다. Mozilla 기반 브라우저에서만 지원하므로, 표준canvas.getContext('2d', { alpha: false }) 를 대신 사용하세요.

width

좌표 공간의 너비입니다. CSS 픽셀 단위로, 기본값은 300입니다.

사용 일람

대체 콘텐츠

<canvas> 블록 안에 콘텐츠를 추가해 대체 콘텐츠로서 사용할 수 있습니다. 대체 콘텐츠는 캔버스를 지원하지 않는 구형 브라우저와, JavaScript를 비활성화한 브라우저에서 표시됩니다. 유용한 대체 텍스트, 혹은 하위 DOM을 제공하면 캔버스의 접근성을 향상할 수 있습니다.

닫는 태그 필수

<img> 요소와 달리,<canvas> 요소는 닫는 태그(</canvas>)를 필요로 합니다.

캔버스 크기 조절: CSS vs. HTML

캔버스의 표시 크기는 CSS로도 수정할 수 있습니다. 그러나, CSS를 사용할 경우 렌더링 과정에서 CSS 크기에 맞추기 위해 이미지의 크기를 조절하므로, 최종 그래픽이 변형될 수 있습니다.

따라서<canvas> 요소의widthheight 특성을 통해 직접 크기를 바꾸는 것이 좋습니다. HTML에서 직접 할 수도 있고, JavaScript를 사용할 수도 있습니다.

최대 캔버스 크기

<canvas> 요소의 최대 크기는 매우 크지만, 정확한 최대 크기는 브라우저마다 다릅니다. 다음 표는 다양한 테스트와 여러 출처(Stack Overflow 등)에서 수집한 값입니다.

브라우저최대 높이최대 너비최대 크기
Chrome32,767 픽셀32,767 픽셀268,435,456 픽셀 (i.e., 16,384 x 16,384)
Firefox32,767 픽셀32,767 픽셀472,907,776 픽셀 (i.e., 22,528 x 20,992)
Safari32,767 픽셀32,767 픽셀268,435,456 픽셀 (i.e., 16,384 x 16,384)
IE8,192 픽셀8,192 픽셀?

참고 :최대 면적 또는 영역을 초과하면 그리기 명령이 동작하지 않으므로, 캔버스를 사용할 수 없습니다.

예제

HTML

이 코드 조각은 HTML 문서에 캔버스를 추가합니다. 대체 텍스트를 추가해서 브라우저가 캔버스를 렌더링 할 수 없거나, 캔버스를 읽을 수 없는 경우에 대비했습니다.

html
<canvas width="300" height="300">  캔버스의 내용을 설명하는 대체 텍스트</canvas>

JavaScript

그 다음, JavaScript 코드 내에서HTMLCanvasElement.getContext()를 호출해 그리기 맥락을 얻어서 캔버스 위에 그립니다.

js
var canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d");ctx.fillStyle = "green";ctx.fillRect(10, 10, 100, 100);

결과

접근성 문제

대체 콘텐츠

<canvas> 요소 자체는 비트맵에 불과하며 그려진 객체에 대한 어떠한 정보도 제공하지 않습니다. 캔버스 콘텐츠는 시맨틱 HTML 같은 접근성 도구에 노출되지 않습니다. 일반적으로 접근성 웹 사이트나 앱에서는 캔버스 사용을 피해야 합니다. 다음 안내서는 캔버스를 보다 쉽게 접근 가능한 형태로 사용하는 법을 설명합니다.

명세

Specification
HTML
# the-canvas-element

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp