В примерах https://getbootstrap.com/docs/4.3/content/code/#code-blocks, bootstrap из коробки поддерживает только <pre>
блоки с вертикальной прокруткой и переносом слов. Как мне сделать так, чтобы вместо этого у меня были развернутые блоки кода с горизонтальной прокруткой?
Как заставить блоки ‹pre› в Twitter Bootstrap прокручиваться по горизонтали?
Ответы (4)
Хитрость в том, что при начальной загрузке переопределяются оба атрибуты white-space
и CSS3 word-wrap
для элемента <pre>
. Чтобы добиться горизонтальной прокрутки, убедитесь, что в вашем CSS есть следующее:
pre {
overflow: auto;
word-wrap: normal;
white-space: pre;
}
person
Suan
schedule
29.04.2012
Я бы не рекомендовал переоценивать бутстрап-классы. Вместо этого я бы создал новый файл CSS с именем, например. bootstrap-extras.css и определите новый класс, например. pre-x-scrollable (аналогично их pre-scrollable), который применяет ваше поведение выше. Таким образом, вы не получите конфликтующих классов при обновлении начальной загрузки из исходного кода в будущем.
- person tatlar; 29.12.2012
для bootstrap3:
pre code
и удалите overflow:auto
- person Davy Landman; 13.03.2014
Установка
white-space: pre-wrap
была уловкой для меня, чтобы предварительный блок действительно оборачивался по желанию
- person UnionP; 29.08.2017
Это сработало для меня:
pre {
overflow-x: auto;
}
pre code {
overflow-wrap: normal;
white-space: pre;
}
person
Matt Morey
schedule
07.05.2013
overflow-wrap
все еще имеет нестандартная реализация. На данный момент вам следует использовать старую версию word-wrap
, которая поддерживается всеми браузерами.
- person KyleMit; 02.01.2014
@KyleMit На данный момент вам следует использовать оба. Затем, когда
overflow-wrap
начнет получать поддержку, вам не придется возвращаться и обновлять весь свой CSS.
- person Alex W; 17.07.2014
Я продолжаю возвращаться к этому ответу, когда начинаю новые проекты и мне приходится читать комментарии, чтобы помнить, о да, не переопределяйте класс начальной загрузки и не забывайте переполнение-перенос и т. Д.
Итак, у вас есть запас 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;
}
person
Rick Glos
schedule
24.09.2015
Более новые версии Bootstrap применяют стили как к pre
, так и к code
, которые переносят слова. Добавление этого в мою таблицу стилей устранило проблему для меня:
pre code {
white-space: pre;
word-wrap: normal;
}
person
jarhill0
schedule
31.03.2018