Соображение
ИМХО, вам не следовало редактировать свой вопрос на основе моего комментария.При этом вы сделали этот вопрос (гораздо) менее полезным для будущих пользователей, которые могут задать тот же вопрос:
"Почему бы не использовать col-*
s для ячеек таблицы?"
, что является хорошим вопросом, учитывая гибкость и универсальность Bootstrap.
Для дальнейшего использования вот начальный код вопроса:
<!DOCTYPE html>
<head>
...
</head>
<body>
<!-- other stuff that doesn't matter -->
<main class="container-fluid-page">
<div id="content">
<div id="results">
<h2>Results:</h2>
<!--<div class="table-responsive">-->
<table class="table table-sm">
<tbody>
<tr>
<th class="col-2">Status</th>
<td class="col-10">
<div id="results-status">
foo
</div>
</tr>
<tr>
<th class="col-2">ReturnValue</th>
<td class="col-10">
<div id="results-return-value">
<pre><code class="json">{
"__type__": "RecordRef",
"name": "foo"
}
ReturnValue
2019-05-23 07:51:32Z Log text
2019-05-23 07:51:33Z log text that can have a really really really long line in it and I want to scroll
2019-05-23 07:51:34Z log text
Ответ
Причина, по которой классы col-*
нельзя использовать в ячейках таблицы, заключается впотому что, в отличие от предыдущих версий, начиная с v4, Bootstrap использует display:flex
и flex-basis
для определения размера сетки, чтобы обеспечить такие умные методы размещения, как равное распределение положительного или отрицательного пространства, выравнивание по вертикали и горизонтали и всеВ комплект поставки другого вкусного флексбокса входят (то есть: order
).
В вашем случае я рекомендую использовать встроенную систему разметки сетки Bootstrap:
pre.pre-scrollable {
max-height: 132px;
}
#results pre {
overflow: auto;
background-color: #f8f9fa;
padding: 1rem;
border-radius: .25rem;
margin-bottom: 0;
}
#results>.row>[class^="col-"] {
padding-top: 1rem;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<main class="container-fluid" id="results">
<div class="row">
<div class="col-2">
<label>Status</label>
</div>
<div class="col-10" class="results-status">
foo
</div>
</div>
<div class="row">
<div class="col-sm-2">
<label>Log</label>
</div>
<div class="col-sm-10" class="results-log">
<pre><code class="json">{
"__type__": "RecordRef",
"name": "foo"
}
2019-05-23 07:51:32Z Log text
2019-05-23 07:51:33Z log text that can have a really really really long line in it and I want to scroll
2019-05-23 07:51:34Z log text
2019-05-23 07:51:32Z Log text
2019-05-23 07:51:33Z log text that can have a really really really long line in it and I want to scroll
2019-05-23 07:51:34Z log text
2019-05-23 07:51:32Z Log text
2019-05-23 07:51:33Z log text that can have a really really really long line in it and I want to scroll
2019-05-23 07:51:34Z log text
2019-05-23 07:51:32Z Log text
2019-05-23 07:51:33Z log text that can have a really really really long line in it and I want to scroll
2019-05-23 07:51:34Z log text
Обратите внимание, что он корректно обрабатывает отзывчивость.
Удаление композитора -sm
из имен классов столбцовзаставит колонки оставаться рядом на узких экранах (как таблица).