Как установить ширину и высоту холста на всю высоту и ширину браузера без переполнения?

Я хочу сделать холст с шириной и высотой документа без прокрутки, но я не знаю, как это сделать. Я старался:

canvas.width = window.innerWidth;
canvas.width = parseInt(getComputedStyle( document.body ).getPropertyValue( 'width' ));
canvas.width = document.body.offsetWidth
canvas.width = document.body.clientWidth

Но у меня есть 1-20 неиспользуемых пикселей, которые я могу прокручивать, также я не могу уменьшить ширину и высоту на фиксированное количество пикселей - разные браузеры показывают это по-разному.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
45
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

если вы спрашиваете, как сделать элемент равным 100% ширины и высоты области просмотра, вы можете использовать CSS...

#selector_id {
    width: 100vw,
    height: 100vh
}

window.innerWidth дает вам всю ширину внутри оконной рамы, игнорируя полосы прокрутки.

document.body.clientWidth дает вам ширину внутри вертикальной полосы прокрутки - если она присутствует.

Оба они работают с текущими версиями Safari и Chrome — я только что попробовал их.

Оба должны работать во всех современных браузерах, проверьте здесь окно.innerWidth и здесь для document.body.clientWidth.

Мне было бы интересно узнать о любых обстоятельствах, когда они не работают так, как рекламируется.

(Конечно, если вы выполнили код точно так, как вы его показали, вы получили бы только значение document.body.clientWidth. Я предполагаю, что вы имели в виду, что пробовали каждый из них по очереди.)

Ответ принят как подходящий

Исправлено с помощью «display: block», элементы холста по умолчанию не являются блоками.

Другие вопросы по теме