代码片段 1
功能介绍
- 当代码块超过指定高度(这里设置为 800px),出现滚动条进行滚动
- 代码语言、代码块复制按钮和代码块菜单不跟随代码块滚动条滚动
缺点:不支持显示行号滚动
CSS 代码
/* ---------------------------代码块限制最大高度------------------------------*/ /* 限制代码块高度,设置超过高度,出现滚动条 */ .protyle-wysiwyg .code-block { overflow: hidden; } .protyle-wysiwyg .code-block .hljs { max-height: 800px; overflow: auto; padding-top: 32px !important; padding-bottom: 20px !important; } /* 调整代码块命名、别名等块属性位置 */ .protyle-wysiwyg .protyle-linenumber__rows { max-height: 852px; overflow: clip; height: 100%; } .protyle-wysiwyg .code-block .protyle-attr { top: -2px; } /* 代码块复制和菜单按钮 */ .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw { top: 17px; } /* 代码块复制按钮和菜单按钮的提示文字放在下方 */ .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw::after { top: 100%; bottom: inherit; margin-top: 5px; } .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw::before { top: 100%; bottom: inherit; rotate: 180deg; margin-top: -4px; } /* 导出pdf取消限制最大高度 */ #preview .protyle-wysiwyg .code-block .hljs { max-height: none; } /* ---------------------------代码块限制最大高度------------------------------*/
代码片段 2
支持行号滚动
缺点
- 横向滚动条只会在末尾出现
- 代码语言、代码块复制按钮和代码块菜单跟随代码块滚动条滚动
/* ---------------------------代码块限制最大高度------------------------------*/ /* 限制代码块高度,设置超过高度,出现滚动条 */ .protyle-wysiwyg .code-block { max-height: 800px; overflow: auto; } /* 防止因代码行号和代码渲染内容导致出现多重滚动条 */ .protyle-wysiwyg .hljs, .protyle-linenumber__rows { height: max-content; } /* 调整代码块命名、别名等块属性位置 */ .protyle-wysiwyg .code-block .protyle-attr { top: -2px; } /* 代码块功能按钮:包括代码语言、复制和菜单按钮 */ .protyle-wysiwyg .code-block .protyle-action { /* 为了代码块复制按钮可以sticky,需要设置高度 */ height: 100%; /* 取消top高度,否则会出现代码块会被撑开出现滚动条 */ top: 0px !important; /* 需要禁止鼠标点击,否则浮在上面代码块上无法点击 */ pointer-events: none !important; } /* 代码块语言 */ .protyle-wysiwyg .code-block .protyle-action .protyle-action__language { margin-top: 6px; position: absolute; top: 6px; position: sticky; /* 由于父元素禁止点击,所以要子元素允许点击 */ pointer-events: all !important; align-self: flex-start; } /* 代码块复制和菜单按钮 */ .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw { /* 调整位置 */ top: 17px; /* 代码块复制按钮sticky,不跟随滚动 */ position: sticky; /* 由于父元素禁止点击,所以要子元素允许点击 */ pointer-events: all !important; } /* 代码块复制按钮和菜单按钮的提示文字放在下方 */ .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw::after { top: 100%; bottom: inherit; margin-top: 5px; } .protyle-wysiwyg .code-block .protyle-action .b3-tooltips__nw::before { top: 100%; bottom: inherit; rotate: 180deg; margin-top: -4px; } /* 导出pdf取消限制最大高度 */ #preview .protyle-wysiwyg .code-block { max-height: none; } /* ---------------------------代码块限制最大高度------------------------------*/
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于