javascript - 如何在Canvas上添加HTML元素呢?
天蓬老师
天蓬老师 2017-04-11 11:06:32
[JavaScript讨论组]

下面的代码无法再canvas上显示两个p,要如何做才能在canvas上显示html元素呢?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <style type="text/css">
        #box1{
            width: 100px;
            height: 100px;
            background: paleturquoise;
            position: absolute;
            left: 100px;
            z-index: 2;
        }
        #box2{
            width: 100px;
            height: 100px;
            background: palevioletred;
            position: absolute;
            left: 300px;
            z-index: 2;
        }
        #drawing{
            width: 500px;
            height: 500px;
            position: relative;
            background: transparent;
            z-index: 1;
        }
    </style>
    <body>
        <canvas id="drawing">
            <p id="box1">
                
            </p>
            <p id="box2">
                
            </p>
            
        </canvas>
    </body>
    <script type="text/javascript">
        
    </script>
</html>
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
巴扎黑

canvas里面不允许嵌套p,如果在里面嵌套了p,会被自动忽略。
如果想让p在canvas上面覆盖显示,可以将p放在canvas的同级,然后将p设置成position:absolute或fixed,通过left和top进行定位。

PHPz

该标签不支持任何内容标签插入,详细看看api

天蓬老师

按照语法规定canvas里面是不能嵌套p的,要想把p放到里面,可以把p的position设为absolute:
<canvas></canvas>
<p style="position: absolute; left: 0px;top:40px;"></p>

大家讲道理

你直接放里边肯定是不行的噻~不过既然是canvas,用js动态构建个再塞进去就行了。最近用Egret写微信上的小东西,最后加的二维码我就是这么处理的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号