HTMLもJavaScriptも初心者です。
*.png の図と canvas に書いた図を重ねて表示したいのですが、canvas に書いた図が *.png に隠れて表示されません。
コーディングは次のとおりです。
<html>
<title>figures</title>
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
</head>
<body>
<div id=lyrwall
style="position:absolute; left:20px; top:20px;">
<img src=figure.png>
</div>
<canvas id="canvassample" width="500" height="500">
<script type="text/javascript">
onload = function() {
draw();
};
function draw() {
var canvas = document.getElementById('canvassample');
if ( ! canvas || ! canvas.getContext ) {
return false;
}
/* 2Dコンテキスト */
var ctx = canvas.getContext('2d');
/* 線を引く */
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(480, 480);
ctx.stroke();
}
</script>
</canvas>
</body>
</html>
直線のうち、figure.png と重なる部分が表示されません。表示されるようにするにはどうすればいいのでしょうか。よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
canvasは(Flow content,Phrasing content,Embedded content.Embedded content)で、sectioningやgroupingコンテントではない(HTML4.01で言うところのインライン要素な)ので、必ず<p>などで囲む必要があります。
それはさておき、画像を含むdiv要素(pで良いと思いますが・・)にposition:absoluteが指定されていますから、指定されていないstaticな要素から独立して上に乗ります。
canvasを、sectioningコンテントかgroupingコンテント(p,figure,aside,sectionなど)に入れて、それもabsoluteすると良いでしょう。その際、z-indexを使うならソース上の出現順位には関わらず、上下(前後)を指定できます。
HTML5は、HTML4.01より文書構造をきちんとマークアップすることが求められます。まず、それをしっかり身につけないと、先に勧めませんよ。
<figure class="menue">
<p class="backImage"><img></p>
<p class="overCanvas"><canvas></p>
</figure>
figure.manue{position:absolute;top:20px;left:20px;width:500px;height:500px;margin:0 auto;}
figure.manue p.backImage{margin:0;}
figure.menue p.overCanvas{position:absolute;top:0;left:0;}
懇切なご回答をお寄せいただきありがとうございました。あちこちのサイトや書籍から利用できそうなものを引っ張り出してつぎはぎでやっていて、貴殿のご回答もよく理解できない状態です。理解できるよう頑張ります。質問の件ですが、その後いろいろ利用して何とか所定の目的を果たすことができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードプレスでレイアウトが崩...
-
firefoxでCSSデザインが崩れま...
-
スタイルシートで画面を上下に...
-
ラジオボタンで段階評価
-
width 100% で縦に3段のレイア...
-
positionのrelativeとabsolute...
-
textareaで入力した文字を改行...
-
CSS <div>の入れ子が反映さ...
-
2つの図を重ねて表示したい
-
MAX関数を使ってからLEFT JOIN...
-
【iOS及びAndroid】リンク画像...
-
リンク先がそれぞれ別の画像の...
-
中心を軸にくるくる回るjQuery ...
-
連番画像「次へ」「前へ」で、...
-
jqueryを使って無駄なspanタグ...
-
htmlとcssに関する質問です
-
画像がプルプルふるえるんです。
-
右クリック禁止スクリプト挿入法
-
表示・非表示のスクリプトで、...
-
Gif画像のアニメーションが再生...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フッター上部に謎の隙間
-
CSS <div>の入れ子が反映さ...
-
【CSS】floatで左右に並べた...
-
css固定したフッターが本文と重...
-
文字をクリックしたら別の文字...
-
textareaで入力した文字を改行...
-
オンマウス時に別画像を上に重...
-
スクロール可能なチェックボックス
-
文字を固定したいのですが…
-
1行で左寄せと右寄せと中央揃え...
-
Ctrl+F(検索)の窓を出したいの...
-
Webサイト作成 プログレスバー ...
-
チェックボックスの背景色って...
-
離れた場所にマウスオーバーで...
-
スタイルシートで画面を上下に...
-
メニューバーもスクロールに合...
-
ホームページのsidebar とconte...
-
CSSで背景を下までのばすには?
-
かなり困っています。知恵を貸...
-
TABLEの高さを固定したいのですが…
おすすめ情報