为WP-B2主题的代码块增加高度限制

上次为WP-B2主题增加代码块的复制按钮后,发现如果是几百行的代码块会导致文章非常的长,所以就有了这次的优化

优化前后的对比

图片[1]-为WP-B2主题的代码块增加高度限制-测试未知の物语

图片[2]-为WP-B2主题的代码块增加高度限制-测试未知の物语

将以下代码放入到主题的style.css文件中,建议使用子主题

要增加代码块的高度并添加滚动条,可以通过修改现有的CSS样式来实现。以下是具体的步骤和代码示例:

修改CSS样式

  1. 增加代码块的高度
    • 可以通过设置 .code-toolbar pre 的 max-height 属性来限制代码块的最大高度。
    • 使用 overflow-y 属性来添加垂直滚动条。
  2. 调整工具栏按钮的边框半径
    • 修正 .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
喜欢就支持一下吧