9

ページの中央にあるキャンバス (ゲーム用) の上に div 要素を配置しようとしています。ゲームを開始する前に、キャンバス上に表示したい開始画面についてです(この開始画面には、「ゲームをプレイ」、「設定」などのオプションがあります)。問題は、これを実行できないことです。Google で多くの検索を行い、多くの例を見てきましたが、どれもうまく機能していないようです。これが私のコードです:

<div id="gamecontainer">
            <canvas id="myCanvas" width="800" height="600">
                Sorry, <strong>CANVAS</strong> is not supported by your browser. Get a more recent one to play my game!
            </canvas>

            <div id="gamestartscreen" class="gamelayer">
                <img src="images/icons/play.png" alt="Play Game" onclick="alert('ceve');"><br>
                <img src="images/icons/settings.png" alt="Settings">
            </div>
</div>

ここにCSSがあります:

#gamecontainer {
    width: 800px;
    height: 600px;
    background-color: beige;
    border: 1px solid black;
    position: relative;
    margin: 0 auto;
}

.gamelayer {
    width: 800px;
    height: 600px;
    position: absolute;
    display: none;
    z-index: 0;
}


/* Screen for the main menu (Like Play, Settings, etc.) */
#gamestartscreen {
    position: relative;
    margin: 0 auto;
}

#gamestartscreen img {
    margin: 10px;
    cursor: pointer;
}

誰かが私が間違っているところを教えてもらえますか?

4

1 に答える 1

21

問題は、キャンバス レイヤーがネイティブの静的な位置にあるのに対し、gamestart div は正の z-index 値を持たない相対位置にあることでした。基本的に、キャンバス要素をposition: absoluteまたは偶数に設定する必要がposition: relativeありますが、startstreen div の z-index は 1 を超えています。このJSFiddleはすべてを明確にする必要があります。乾杯!

于 2013-04-07T10:54:19.803 に答える