上次为WP-B2主题增加代码块的复制按钮后,发现如果是几百行的代码块会导致文章非常的长,所以就有了这次的优化
优化前后的对比
![图片[1]-为WP-B2主题的代码块增加高度限制-测试未知の物语](https://worker-img-blog.11002233.xyz/wp-content/uploads/2025/09/1758423593-11EYNDPVBQHHSUHEUOXE_1_post_5oCoi3690.png)
![图片[2]-为WP-B2主题的代码块增加高度限制-测试未知の物语](https://worker-img-blog.11002233.xyz/wp-content/uploads/2025/09/1758423603-22ZEE00XONAX7K_1_post_xZ4mF32919.png)
将以下代码放入到主题的style.css文件中,建议使用子主题
要增加代码块的高度并添加滚动条,可以通过修改现有的CSS样式来实现。以下是具体的步骤和代码示例:
修改CSS样式
- 增加代码块的高度:
- 可以通过设置
.code-toolbar pre的max-height属性来限制代码块的最大高度。 - 使用
overflow-y属性来添加垂直滚动条。
- 可以通过设置
- 调整工具栏按钮的边框半径:
- 修正
.toolbar-item button中border-radius属性的值。
- 修正
以下是修改后的CSS代码:
[content_hide]
/**代码高亮开始**/
/* 代码高亮样式 */
.code-toolbar {
position: relative; /* 父容器使用相对定位 */
margin: 1em 0;
background: #2f3640;
border-radius: 6px;
padding-top: 40px;
}
.code-toolbar:hover .toolbar {
opacity: 1;
}
.code-toolbar pre {
margin: 0 !important;
border-radius: 6px;
max-height: 300px; /* 设置代码块的最大高度 */
overflow-y: auto; /* 添加垂直滚动条 */
padding: 10px; /* 可选:增加内边距 */
white-space: pre; /* 保留空白符 */
word-wrap: normal; /* 不自动换行 */
}
.code-toolbar:before {
content: '';
height: 40px;
width: 100%;
background: #2f3640;
display: block;
position: absolute;
top: 0;
left: 0;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.code-toolbar:after {
content: '';
position: absolute;
top: 12px;
left: 20px;
width: 15px;
height: 15px;
border-radius: 50%;
background: #ff5f56;
box-shadow: 25px 0 0 #ffbd2e, 50px 0 0 #27c93f;
z-index: 1;
}
.toolbar {
position: absolute;
top: 6px;
right: 10px;
z-index: 2;
opacity: 0;
transition: opacity 0.3s ease;
}
/* 移动端始终显示工具栏 */
@media (max-width: 768px) {
.toolbar {
position: absolute;
top: 6px;
right: 10px;
z-index: 5; /* 提高层级 */
opacity: 1;
width: auto; /* 确保宽度自适应 */
display: block !important; /* 强制显示 */
pointer-events: auto !important; /* 确保可点击 */
}
/* 处理短代码包裹的情况 */
.wp-block-jetpack-markdown .code-toolbar .toolbar {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}
/* 确保按钮可见且可点击 */
.toolbar-item button {
display: block !important;
pointer-events: auto !important;
}
}
.toolbar-item button {
padding: 5px 10px;
color: #494949;
cursor: pointer;
background: #b2bac2;
border-radius: 4px; /* 修正边框半径 */
line-height: 1.4;
border: 1px solid #dddddd03;
}
/**代码高亮结束**/
解释
.code-toolbar pre:max-height: 300px;: 设置代码块的最大高度为300像素。overflow-y: auto;: 当内容超过最大高度时,显示垂直滚动条。padding: 10px;: 可选,增加内边距以提高可读性。white-space: pre;: 保留空白符,确保代码格式正确。word-wrap: normal;: 不自动换行,保持代码在一行内显示。
.toolbar-item button:border-radius: 4px;: 修正边框半径的值,使其看起来更美观。
通过这些修改,你的代码块将具有固定的最大高度,并且在内容超出时会出现滚动条,方便用户查看长代码。
[/content_hide]
直接替换即可
THE END
