2012-04-22 60 views
1

我试图在<canvas>标签内淡化DIV。 (这是甚至允许的?我假设,因为它是一个元素)。你知道标准jQuery fadeIn,这里是我使用的风格是什么:jQuery淡化画布内的div

<style type="text/css"> 
<!-- 
    #canvas { 
     background:red; 
     z-index:0; 
     position:relative;  
    } 
    .txt { 
     z-index:2; 
     background:blue; 
     display:none; 
     position:absolute; 
     top:0; 
     right:0; 
     width:200px; 
    } 
--> 
</style> 

和足够简单,这里是我的HTML(忽略身体。我拥有这一切..这是剪短):

<body> 
    <canvas id="canvas"><div class="txt">Welcome to the Game</div></canvas> 
</body> 

我想一个简单的淡入和它不工作..

+0

你有jQuery代码吗? – locoboy 2012-04-22 22:47:02

+0

为什么它需要在canvas元素中 – Esailija 2012-04-22 22:47:47

+0

这里是jQuery'$('。txt')。fadeIn('fast',function(){});'...它必须在里面..如果不是,它将无法工作? – nn2 2012-04-22 22:49:59

回答

1

WHATWG spec

canvas元素的内容,如果有的话,元素的后备内容。

<canvas> 
    <div>Looks like you need to upgrade to a canvas-aware browser!</div> 
</canvas> 

你应该把DIV canvas元素后,并使用CSS来视觉上它定位:只有当浏览器不支持类型元素的

“后备内容”显示画布。

+0

谢谢,我明白了。 – nn2 2012-04-22 23:11:06

0

按照WHATWG spec for the canvas element

当作者使用滑稽元素时,他们还必须提供内容,当呈现给用户时,它实际上传达与位图画布相同的功能或用途。此内容可能被放置为canvas元素的内容。 canvas元素的内容(如果有的话)是元素的后备内容。

它肯定显示您的内容不是后备内容。如果不是,也许你应该使用传统的画布方法来显示你的文字。