cherry-markdown icon indicating copy to clipboard operation
cherry-markdown copied to clipboard

当使用了Katex后,网页整体变得很长

Open QuYue opened this issue 2 years ago • 6 comments

当我使用了katex后,网页整体变得非常长。

只有当设置了 body.overflow: hidden 时才正常。

举个例子,在Cherry-markdown 的 example里,将multiple.html中后面的 katex.min.js 的注释去掉,然后将scripts/multiple-demo.js中的 engine中的 mathBlock和inlineMath 的 engine变成'katex',之后的界面,就特别的长。如下图 屏幕截图 2023-03-02 211115

同样的,将index.html也做同样的操作,不会出现这个状况,但是当把body.overflow: hidden去掉后,就会出现问题

QuYue avatar Mar 02 '23 13:03 QuYue

我之所以发现这个问题,是因为Mathjax有许多公式不支持,比如$\reals$, $\rarr$等等,我才换的katex。如果有大神可以在Mathjax上解决这个问题,也可以告诉我,非常感谢

QuYue avatar Mar 02 '23 13:03 QuYue

这个我在dev分支本地试了下,并没有重现出来(Chrome 版本 106.0.5231.2),可能需要提供更多的信息来定位~

sunsonliu avatar Mar 06 '23 08:03 sunsonliu

index.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Cherry Editor - Markdown Editor</title>
  <style>
    html,
    body {
      margin: 0;
      padding: 0;
      height: 100%;
      /* overflow: hidden; */
    }

    video {
      max-width: 400px;
    }

    #demo-val {
      display: none;
    }

    img {
      max-width: 100%;
    }
  </style>
  <link rel="stylesheet" type="text/css" href="../dist/cherry-markdown.css">
  <link rel="Shortcut Icon" href="./logo/favicon.ico">
  <link rel="Shortcut Icon" href="../logo/favicon.ico">
  <link rel="Bookmark" href="../logo/favicon.ico">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"
    integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
  <link href="./markdown/basic.md" rel="preload">
</head>

<body>
  <div id="dom_mask" style="position: absolute; top: 40px; height: 20px; width: 100%;"></div>
  <div id="markdown"></div>
  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4" crossorigin="anonymous"></script>
  <script src="../dist/cherry-markdown.js"></script>
  <script src="./scripts/pinyin/pinyin_dist.js"></script>
  <script src="./scripts/index-demo.js"></script>
</body>

</html>

QuYue avatar Mar 08 '23 07:03 QuYue

index-demo.js

      mathBlock: {
        engine: 'katex', // katex或MathJax
        // src: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js', // 如果使用MathJax plugins,则需要使用该url通过script标签引入
      },
      inlineMath: {
        engine: 'katex', // katex或MathJax
      },

QuYue avatar Mar 08 '23 07:03 QuYue

使用的是live server, 在Microsoft edge 110.0.1587.63 (正式版本) (64 位) 和 safari上都不好使 屏幕截图 2023-03-08 151917

QuYue avatar Mar 08 '23 07:03 QuYue

当katex的公式在子容器中滚动时会有默认外边距传导到父级把整个页面撑开,给滚动容器添加position: relative;contain: layout paint;可以解决

ganlinte avatar Aug 21 '25 07:08 ganlinte