Anzeigen ein <div> ein <canvas>
Das problem besteht sowohl in Firefox und Chrome, ist, dass ich ein Bild mit einem einfarbigen hintergrund, und ein div mit einer Hintergrundfarbe/Bild. Das div-Element mit margin-up über die Leinwand. Das div wird nicht angezeigt, der über die Leinwand. Ein interessanter Hinweis ist, dass, wenn es text innerhalb des div, wird es richtig angezeigt. Dies würde bedeuten, es ist ein browser-bug... in beiden Browsern. Hier ist ein code für Menschen, die wollen, es zu versuchen.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#d{background-color:#111;margin-top:-150px;z-index:999999;}
</style>
<script type="text/javascript">
function load() {
var c = document.getElementById("c").getContext("2d");
c.fillStyle = "rgba(255, 200, 200, 1)";
c.fillRect(0, 0, c.canvas.width, c.canvas.height);
}
</script>
</head>
<body onload="load()">
<canvas id="c" width="500" height="300"></canvas>
<div id="d" style="width:500px;height:300px"></div>
</body>
</html>
Also, jemand irgendwelche workarounds? Oder ist es etwas, dass ich verpasst in der HTML5-Spezifikation sagt, dass das richtig ist?
Als Hinweis, bitte nicht Fragen, warum ich wollen, verwenden Margen anstelle von fixen/absoluten/etc... alternativen. Ich brauche Margen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese können nur behoben werden, indem Sie das Format anwenden:
oder
top
,right
usw... - Attribut.Dies geschah mir vor kurzem und anstatt Sie zu verändern, wie es angeordnet ist, wechselte ich von
div
Verwendung einerspan
mitdisplay:inline-block
.Funktioniert auf Firefox/Chrome/Safari.
Noch nicht getestet im IE.
Verwenden Sie den folgenden code, hoffe es hilft dir:
Hinzufügen einer position:relative; (oder absolute) zu #d scheint zu funktionieren, in chrome und firefox. Keine Ahnung, warum, wenn Sie mich Fragen. Ist das gut für Sie?
nun, ich habe deine Frage Lesen, und ich verstehe Sie nicht wollen, um die position zu verwenden....wer Sie verwenden müssen, position zu sein, die z-index zu arbeiten. position:relative ist buchstäblich nichts zu tun, in diesem Fall, speichern Sie, was Sie fordern. hier ist eine Lösung, obwohl es stützt sich auf position:relative
http://jsfiddle.net/jalbertbowdenii/Ar6Sh/