gpt4 book ai didi

javascript - 如何居中由javascript生成的对象?

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:49 25 4
gpt4 key购买 nike

我是 HTML5 的新手,我正在尝试编写一个带有 jmol 图片的网页。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="JSmol.lite.js"></script>
<script type="text/javascript">
var Info;;(
function()
{
Info =
{
width: 500,
height: 500,
debug: false,
color: "0xC0C0C0",
addSelectionOptions: true,
serverURL: "",
use: "HTML5",
readyFunction: null,
defaultModel: ":serotonine",
bondWidth: 4,
zoomScaling: 1.5,
pinchScaling: 2.0,
mouseDragFactor: 0.5,
touchDragFactor: 0.15,
multipleBondSpacing: 4,
spinRateX: 0.2,
spinRateY: 0.5,
spinFPS: 20,
spin:false,
}
}
)();
</script>

我将此代码添加到 <head> 中的 HTML,然后在我需要插入分子图像的地方添加以下代码。

<script id="java">
Jmol.getTMApplet("jmol", Info)
</script>

但是,无论我怎样尝试,我都无法将 jmol 图片置于页面中央。我尝试在 <script> 中使用类或 ID标签,然后添加 display: block;text-align: center;在 CSS 中。我也试过margin: auto; .但似乎没有任何效果,jmol 图像保留在网页的左端。

在 jmol 图像上使用 inspect 元素给出:

<div id="jmol_appletinfotablediv" style="width:500px;height:500px;position:relative;font-size:14px;text-align:left">
<div id="jmol_appletdiv" style="z-index: 9000; width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; display: block;">
<canvas style="width: 100%; height: 100%;" width="500" height="500" id="jmol_canvas2d"></canvas></div>
<div id="jmol_2dappletdiv" style="position:absolute;width:100%;height:100%;overflow:hidden;display:none"></div>
<div id="jmol_infotablediv" style="width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; display: none;">
<div id="jmol_infoheaderdiv" style="height: 20px; width: 100%; background: yellow none repeat scroll 0% 0%; display: none;">
<span id="jmol_infoheaderspan">Jmol._Canvas2D (TwirlyMol) "jmol"</span>
<span id="jmol_infocheckboxspan" style="position:absolute;text-align:right;right:1px;">
<a href="javascript:Jmol.showInfo(jmol,false)">[x]</a>
</span></div>
<div id="jmol_infodiv" style="position:absolute;top:20px;bottom:0px;width:100%;height:100%;overflow:auto"></div></div></div>

如果您还没有注意到的话,我正在使用轻量级的 jmol。我是一名化学家,我没有太多编码经验,所以简单的解决方案会更好。

最佳答案

如果你想让元素居中:

  • 水平和垂直:
.parent {
position: relative;
}
#jmol_appletinfotablediv {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

在您的情况下,不清楚#jmol_appletinfotablediv div 标记的父对象是谁。查看嵌套位置并将 .parent 替换为实际父级

  • 水平居中
#jmol_appletinfotablediv {
margin: 0 auto;
}
  • 垂直
.parent {
position: relative;
}
#jmol_appletinfotablediv{
position: absolute;
top: 50%;
transform: translateY(-50%);
}

水平和垂直居中的情况相同,将 .parent 替换为实际父级。

  • 如果这两种方法都不适合您,很可能是生成的 HTML 包含内联 CSS,它会覆盖您的 CSS 规则。我以前没有尝试过 JMol,如果这对您没有帮助,我会再看看。

干杯

关于javascript - 如何居中由javascript生成的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56066326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com