【问题标题】:Why does a-frame add 'a-html' class to my html element?为什么 a-frame 将“a-html”类添加到我的 html 元素?
【发布时间】:2021-01-25 13:59:37
【问题描述】:

这是我第一次尝试使用 a-frame,我正在设置一个简单的 a-frame 以在我的应用程序中显示一个 .obj 文件。这没什么疯狂的,我从一个例子中没有太多努力就让它工作了。问题是,包含 a-frame 代码会在我的根“html”元素中添加一个名为“a-html”的类,这会破坏我的很多样式。我可以理解如果他们在他们的资源中包含的样式中包含该类并且它没有被使用,但是为什么它会假定在它不需要触摸的元素上添加一个类?

到目前为止我的代码:

<script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-orbit-controls@1.0.0/dist/aframe-orbit-controls.min.js"></script>
<script src="https://unpkg.com/aframe-supercraft-loader@1.1.3/dist/aframe-supercraft-loader.js"></script>

...

<button type="button" class="btn btn-default" data-toggle="modal" data-target="#3d-model-modal">View 3D model</button>

<div id="3d-model-modal" class="modal fade" role="dialog" >
    <div class="modal-dialog" style="width:900px; height: 900px">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title"></h4>
            </div>
            <div class="modal-body">
                <div id="obj-container">
                    <a-scene vr-mode-ui="enabled: false">
                        <a-assets>
                            <a-asset-item id="model-obj" src="<c:url value="/customerStatus/getObjFile/${guid}" />" ></a-asset-item>
                            <a-asset-item id="textures" src="<c:url value="/customerStatus/getMtlFile" />"></a-asset-item>
                        </a-assets>

                        <a-entity obj-model="obj: #model-obj; mtl: #textures"  rotation="-90 0 0"></a-entity>
                        <a-entity camera look-controls orbit-controls="target: 0 1.6 -0.5; minDistance: 0.5; maxDistance: 180; initialPosition: 0 15 25"></a-entity>
                        <a-plane position="0 0 -10" rotation="-90 0 0" width="4000" height="4000" color="#526F35"></a-plane>
                        <a-sky color="#87CEEB"></a-sky>
                    </a-scene>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

    标签: aframe


    【解决方案1】:

    默认情况下用于全屏样式和防止页面溢出/滚动。可以使用&lt;a-scene embedded="true"&gt; 关闭样式规则,或者覆盖样式,或者删除类。

    有关详细信息,请参阅 A-frame 文档:https://aframe.io/docs/0.8.0/components/embedded.html

    【讨论】:

    • embedded=false 没有用,虽然我希望它有用。我绝对可以通过覆盖类或使用 j-query 删除它来对其进行 jimmy-rig 安装,我只是想尽可能找到更好的解决方案,因为这看起来有点贫民窟。
    • 我认为唯一的解决方案是提交问题或 PR 以仅在嵌入式组件处于活动状态时应用这些样式。
    • 对不起,应该是embedded="true"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2014-07-25
    • 1970-01-01
    • 2014-10-27
    • 2021-12-31
    相关资源
    最近更新 更多