ホームページ >ウェブフロントエンド >CSSチュートリアル >キャンバスに余分な空白があり、過度にスクロールするのはなぜですか?

キャンバスに余分な空白があり、過度にスクロールするのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 02:58:10447ブラウズ

Why Does My Canvas Have Extra White Space and Excessive Scrolling?

キャンバスのスクロールの問題: 下部の空白と過剰なスクロール

div 内でキャンバスをスクロールすると、ユーザーは次の 2 つの問題に遭遇する可能性があります。キャンバスの下部にあるスペースと、下にある div の背景を明らかにする過剰なスクロール。これは主に、キャンバスのデフォルトのインライン要素ステータスが原因です。

解決策: キャンバスをブロック要素に変換する

これらの問題を解決するには、キャンバスをブロック要素に変換する必要があります。ブロック要素。これは、プロパティ "display: block" をキャンバスに追加することで CSS を通じて実行できます。

Vertical Alignment

または、キャンバスをブロック要素に変換する場合は、適切ではありませんが、垂直方向の配置を使用できます。キャンバスの CSS に「vertical-align: top」を追加して、div の上部に配置され、下部の空白を削除します。

改訂コード:

次の改訂されたコード スニペットには、提案された内容が組み込まれています。解決策:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = '#00aa00'
ctx.fillRect(0, 0, c.width, c.height);
ctx.fillStyle = '#fff'
ctx.font='12pt A'
ctx.fillText("scroll here to see red from screen div", 30, 50);
.screen {
  background: red;
  height: 100px;
  width: 300px;
  overflow: auto;
  border-radius: 20px;
}
canvas {
 display:block; /* or vertical-align:top; */
}

::-webkit-scrollbar {
  width: 0px;
  height: 0px;
}
<div class="screen">
  <canvas>

これらの変更を実装すると、キャンバスは、基礎となる div の背景を表示せずにコンテンツの最後までスクロールするようになります。

以上がキャンバスに余分な空白があり、過度にスクロールするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。