Twitter bootstrap Mathjax显示问题(仅在某些位置中断格式)

Twitter bootstrap Mathjax显示问题(仅在某些位置中断格式),twitter-bootstrap,accordion,mathjax,Twitter Bootstrap,Accordion,Mathjax,我正在展示一些mathjax,它通常运行良好。例如,在一个DIV中。然而,当我将其插入引导手风琴时,它破坏了所述手风琴的格式,但仅在标题中,Mathjax似乎插入了它自己的跨距,继承了填充和边距等内容,我认为这是造成这种情况的原因 请参阅下面的代码,如果您在页面中间点击9幅图片上的“了解更多”链接之一,也可以在该页面www.clevertree.co.uk上找到。下面的第一位中断,第二位正常 <div class="panel panel-default">

我正在展示一些mathjax,它通常运行良好。例如,在一个DIV中。然而,当我将其插入引导手风琴时,它破坏了所述手风琴的格式,但仅在标题中,Mathjax似乎插入了它自己的跨距,继承了填充和边距等内容,我认为这是造成这种情况的原因

请参阅下面的代码,如果您在页面中间点击9幅图片上的“了解更多”链接之一,也可以在该页面www.clevertree.co.uk上找到。下面的第一位中断,第二位正常

            <div class="panel panel-default">

                    <div class="panel-heading">
                        <h4 class="panel-title">
                            <a class="panel-toggle collapsed" data-toggle="collapse" data-parent="#accordion_core1" href="#core1content2">
                                <span>Coordinate Geometry in the (??x,y??) Plane</span>
                            </a>
                        </h4>
                    </div><!-- /.panel-heading -->

                    <div id="core1content2" class="panel-collapse collapse">
                        <div class="panel-body">
                            <ul class="circled">
                                <li>Equation of a straight line, including the forms ??y-y_{1}=m(x-x_{1})?? and ??ax + by + c = 0??</li>
                                <li>Conditions for two straight lines to be parallel or perpendicular to each other</li>
                            </ul><!-- /.circled -->
                        </div><!-- /.panel-body -->
                    </div><!-- /.content -->

                </div><!-- /.panel -->

  • 直线方程,包括形式??y-y{1}=m(x-x{1})??和??ax+by+c=0
  • 两条直线相互平行或垂直的条件

问题在于Boostrap在其隐藏内容上使用了
display:none
。因为这意味着浏览器不会布局内容,这会阻止MathJax正确测量宽度和高度

长话短说,为了安全起见,您需要触发手风琴中内容的重新渲染

我对boostrap不太熟悉,但结合类似的东西可能是一个开始

或者,您可以将MathJax预处理器(例如)配置为忽略手风琴,然后将
Rerender
替换为
Typeset
(这可以节省该内容的一轮排版,但第二次排版会快得多,因此这取决于是否值得)

编辑,例如,为您的站点修改您的配置

 <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
            tex2jax:{
                inlineMath: [['%%%%','%%%%'], ['??','??']],
                displayMath: [ ['$$','$$'], ['@@', '@@']],
                ignoreClass: "panel"
            }
     });
</script>

MathJax.Hub.Config({
tex2jax:{
inlineMath:['%%'、'%%']、['??'、'??'],
displayMath:[['$'、'$$']、['@'、'@']],
ignoreClass:“面板”
}
});

因此,请使用DOM和CSS检查器,看看哪些样式规则有问题。谢谢,但是有没有办法让MathJax忽略它继承的某些元素的样式?比如不要继承填充、边距或颜色?嗨,谢谢你的提示-我想我的描述有点不清楚,手风琴作品中的内容,但手风琴标题中没有。在JSFIDLE中,如果我将内容放入标题(例如,而不是可折叠的组项#1),它会工作,但在我的JSFIDLE中,使用相同的代码,它不会工作,布局仍然混乱。即使对所有元素都使用这个,您能给我一个关于如何配置MathJax处理器以忽略Accordion的指南吗?我在页面顶部已经有了一些Mathjax的配置代码?谢谢。你们有活的样品吗?另外,您使用的是哪种输入?嗨,谢谢,彼得。是的。www.clevertree.co.uk。底部有一个模态称为Core 1。如果单击“了解更多”按钮,您可以在第二个手风琴标题中看到一些Mathjax(它应该是(x,y)平面中的坐标几何)。非常感谢你的帮助。不知道发生了什么事。我以后得调查一下。我添加了一个配置示例。谢谢Peter。该配置示例的工作原理是,格式现在没有混乱,但Mathjax在面板项中根本没有呈现。我是否需要做更多的事情来忽略面板类继承,但仍然呈现实际的数学内容?谢谢