Когда я отображаю заголовок и элемент SVG, на мобильных устройствах ширина заголовка на несколько пикселей меньше ширины страницы, и viewBox отображается неправильно.На рабочем столе будет отображаться горизонтальная полоса прокрутки, хотя я установил ширину на 100% в CSS или использовал window.screen.width * window.devicePixelRatio в JavaScript.Я хочу простой заголовок и контент, такой как страница переполнения стека.Что я делаю не так?
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
background-color: #58CCED;
margin: 0;
}
#header {
width: 100%;
background-color: #072F5F;
padding: 40px;
}
</style>
<body>
<div id="header"></div>
<svg id="viewport" width="0" height="0" viewBox="0 0 0 0" style="fill: red; outline: 5px solid black">
<!-- draw objects -->
<rect x="0" y="0" width="100" height="100"/>
</svg>
<script>
// document.getElementById("header").style.width = (window.screen.width*window.devicePixelRatio);
viewport.setAttribute("width", (window.screen.width*window.devicePixelRatio)-20);
viewport.setAttribute("height", (window.screen.height*window.devicePixelRatio));
viewport.setAttribute("viewBox","0 0 "+((window.screen.width*window.devicePixelRatio)-20)+" "+ ((window.screen.height*window.devicePixelRatio)));
</script>
</body>
</head>
</html>