60

根据示例https://getbootstrap.com/docs/4.3/content/code/#code-blocks<pre> ,bootstrap 仅支持开箱即用的垂直可滚动和自动换行块。如何使我拥有可水平滚动的未包装代码块?

4

4 回答 4

85

诀窍是引导程序会覆盖元素thewhite-space和 CSS3word-wrap属性。<pre>要实现水平滚动,请确保您的 CSS 中有以下内容:

pre {
  overflow: auto;
  word-wrap: normal;
  white-space: pre;
}
于 2012-04-29T17:20:51.493 回答
25

这对我有用:

pre {
    overflow-x: auto;
}
pre code {
    overflow-wrap: normal;
    white-space: pre;
}
于 2013-05-07T13:34:50.400 回答
16

当我开始新项目并且必须通读评论以记住时,我不断回到这个答案,哦,是的,不要覆盖引导类,不要忘记溢出包装等......

所以你有 stock pre-scrollable,它只是垂直滚动,你可能还想要:

仅水平滚动

.pre-x-scrollable {
    overflow: auto;
    -ms-word-wrap: normal;
    word-wrap: normal;
    overflow-wrap: normal;
    white-space: pre;
}

垂直和水平滚动

.pre-xy-scrollable {
    overflow: auto;
    -ms-word-wrap: normal;
    word-wrap: normal;
    overflow-wrap: normal;
    white-space: pre;
    max-height: 340px;
}
于 2015-09-24T22:54:42.070 回答
2

较新版本的 Bootstrap 将样式应用于这两者precode包装单词。将此添加到我的样式表中为我解决了这个问题:

pre code {
        white-space: pre;
        word-wrap: normal;
}
于 2018-03-31T20:27:27.963 回答