У меня есть сетка:
body {
display: block;
margin: 8px;
}
.GridTable {
position: relative;
display: flex;
width: auto;
flex-direction: column;
}
.TableRows {
position: relative;
width: 100%;
display: flex;
flex-direction: column;
}
.TableRow {
position: relative;
width: 100%;
display: flex;
flex-direction: row;
border-bottom:2px solid black
}
.TableHeader {
position: relative;
/* width: 100%; */
display: flex;
flex-direction: row;
}
.headerItem {
flex: none;
width: 200px;
min-height: 100px;
height: auto;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
word-break: break-all
}<div class = "GridTable">
<div class = "TableHeader">
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
</div>
<div class = "TableRows">
<div class = "TableRow">
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
// many others column values
</div>
<div class = "TableRow">
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
// many others column values
</div>
</div>
</div>Сетка содержит много столбцов, так как ее значения => не подходят для 100% размера экрана, поэтому ее можно прокручивать влево/вправо (и, следовательно, width:auto )
Однако, когда я добавляю border-bottom: 2px solid white к классу TableRow, граница имеет только ширину 100% от размера экрана, а другая часть строки не имеет границы.
Как добавить границу, которая находится под всем TableRow, а не только на первых 100% размера экрана?
Спасибо за помощь!






Итак, прокрутка — это HTML, а не ваша сетка ;).
Ваше содержимое переполняет блочные контейнеры, которые занимают 100% доступной ширины.
Я вижу несколько вариантов, позволяющих им расти шире родителя.
inline-flex.body {
display: block;
margin: 8px;
}
.GridTable {
position: relative;
display: inline-flex;
flex-direction: column;
}
.TableRows {
position: relative;
display: flex;
flex-direction: column;
}
.TableRow {
position: relative;
display: flex;
flex-direction: row;
border-bottom: 2px solid black
}
.TableHeader {
position: relative;
display: flex;
flex-direction: row;
}
.headerItem {
flex: none;
width: 200px;
min-height: 100px;
height: auto;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
word-break: break-all
}<div class = "GridTable">
<div class = "TableHeader">
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
</div>
<div class = "TableRows">
<div class = "TableRow">
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
// many others column values
</div>
<div class = "TableRow">
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
// many others column values
</div>
</div>
</div>min-width:min-contentbody {
display: block;
margin: 8px;
}
.GridTable {
position: relative;
display: flex;
flex-direction: column;
/* here min-width:min-content; or next child container */
}
.TableRows {
position: relative;
display: flex;
min-width:min-content;/* here */
flex-direction: column;
}
.TableRow {/* not here since it has more than a single child */
position: relative;
display: flex;
flex-direction: row;
border-bottom: 2px solid black
}
.TableHeader {
position: relative;
display: flex;
flex-direction: row;
}
.headerItem {
flex: none;
width: 200px;
min-height: 100px;
height: auto;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
word-break: break-all
}<div class = "GridTable">
<div class = "TableHeader">
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
</div>
<div class = "TableRows">
<div class = "TableRow">
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
// many others column values
</div>
<div class = "TableRow">
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
// many others column values
</div>
</div>
</div>body {
display: block;
margin: 8px;
}
.GridTable {
position: relative;
display:table;
}
.TableRows {
position: relative;
display: flex;
flex-direction: column;
}
.TableRow {
position: relative;
display: flex;
flex-direction: row;
border-bottom: 2px solid black
}
.TableHeader {
position: relative;
display: flex;
flex-direction: row;
}
.headerItem {
flex: none;
width: 200px;
min-height: 100px;
height: auto;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
word-break: break-all
}<div class = "GridTable">
<div class = "TableHeader">
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
<div class = "headerItem">time1</div>
</div>
<div class = "TableRows">
<div class = "TableRow">
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
<div class = "headerItem">time2</div>
// many others column values
</div>
<div class = "TableRow">
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
<div class = "headerItem">time</div>
// many others column values
</div>
</div>
</div>Должно быть больше ответов о поведении inline-block/grid/flex и минимальной ширине;)
@G-Cyrillus готово