当使用了Katex后,网页整体变得很长
当我使用了katex后,网页整体变得非常长。
只有当设置了 body.overflow: hidden 时才正常。
举个例子,在Cherry-markdown 的 example里,将multiple.html中后面的 katex.min.js 的注释去掉,然后将scripts/multiple-demo.js中的 engine中的 mathBlock和inlineMath 的 engine变成'katex',之后的界面,就特别的长。如下图

同样的,将index.html也做同样的操作,不会出现这个状况,但是当把body.overflow: hidden去掉后,就会出现问题
我之所以发现这个问题,是因为Mathjax有许多公式不支持,比如$\reals$, $\rarr$等等,我才换的katex。如果有大神可以在Mathjax上解决这个问题,也可以告诉我,非常感谢
这个我在dev分支本地试了下,并没有重现出来(Chrome 版本 106.0.5231.2),可能需要提供更多的信息来定位~
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>
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
},
使用的是live server, 在Microsoft edge 110.0.1587.63 (正式版本) (64 位) 和 safari上都不好使

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