Атрибут width тега <canvas> — ширина полотна в пікселях


автор: NagarD

Загальний опис

автор: NagarD

Порада

Використовуйте атрибут height, щоб задати висоту елемента<canvas> в пікселях.

автор: Wsewlad
Нотатка

Кожен раз, коли висота або ширина полотна знову встановлюється, зміст полотна буде очищений

автор: Wsewlad

Синтаксис

<canvas width="pixels">

Атрибут width може отримувати єдине значення:

pixels

Визначає висоту полотна в пікселях. Без задання висота дорівнює "150".

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1.5 2 9 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
37 18 4 1

Приклади

+ запропонувати свій приклад у пісочниці

width задає справжню ширину полотна в пікселях — це роздільність, а не CSS-розтягнення. Скрипт замальовує полотно і підписує розміри; без атрибутів канвас мав би типові 300×150.

HTML

<canvas id="myCanvas" width="200" height="100"></canvas>

CSS

canvas {
    border: 1px solid #0172ad;
}

JS

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');

ctx.fillStyle = '#0172ad';
ctx.fillRect(0, 0, canvas.width, canvas.height);

ctx.fillStyle = '#fff';
ctx.font = '16px sans-serif';
ctx.fillText(canvas.width + '×' + canvas.height, 70, 55);
автор: NagarD

Чотири полотна без жодного скрипта — видно самі коробки: без атрибутів це типові 300×150, width="200" height="80" дає рівно 200×80, у третього в стилях задано лише ширину — і висота поїхала за пропорцією растру, а width="0" лишає між дужками порожнє місце.

HTML

<p class="head">1. Без атрибутів — типові 300×150</p>
<canvas></canvas>

<p class="head">2. width="200" height="80" — растр і коробка збігаються</p>
<canvas width="200" height="80"></canvas>

<p class="head">3. Пастка: у стилях задано лише ширину</p>
<canvas class="stretch" width="60" height="30"></canvas>
<p class="note">Растр 60×30, правило width: 240px — і висота теж вискочила до 120px,
    бо в полотна є власне співвідношення сторін.</p>

<p class="head">4. width="0" — полотно є, а показувати нічого</p>
<p class="marks">[<canvas width="0" height="60"></canvas>]</p>

<p class="head">5. Те, що зазвичай і потрібно</p>
<p class="note">Гумова коробка: ширина 100% і aspect-ratio 3 / 1. Растр при цьому лишається
    300×150, тож справжній скрипт мусив би перерахувати його сам.</p>
<canvas class="fluid"></canvas>

CSS

p {
    margin: 16px 0 6px;
    max-width: 560px;
}

.head {
    margin: 22px 0 8px;
    color: #5a6472;
    font: 600 14px/1.4 system-ui, sans-serif;
    text-transform: uppercase;
    letter-spacing: .04em;
}

canvas {
    display: inline-block;
    background: #eef3fb;
    outline: 2px dashed #d64545;
    outline-offset: 2px;
}

.stretch {
    width: 240px;
}

.fluid {
    display: block;
    width: 100%;
    max-width: 560px;
    aspect-ratio: 3 / 1;
}

.note {
    color: #5a6472;
    font-size: .9em;
}

.marks {
    display: inline-block;
    padding: 8px 10px;
    background: #f6f9ff;
    border: 1px solid #b9c6d8;
    font-family: ui-monospace, monospace;
}
автор: NagarD

Різниця між HTML 4.01 та HTML5


Атрибут width для тегу <canvas> з’явився тільки у HTML5.


Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід