我的桌面在桌面上显示正常,但是一旦我尝试查看移动版本,我的桌子就会变得太宽,无法移动设备屏幕。我正在使用响应式布局。
如何为移动视图设置表格宽度? 还有哪些其他替代方法可以使用Bootstrap在移动视图上显示表格数据?
答案 0 :(得分:111)
Bootstrap 3引入了responsive tables:
<div class="table-responsive">
<table class="table">
...
</table>
</div>
Bootstrap 4类似,但通过某些new classes进行更多控制:
...使用
.table-responsive
响应所有视口...或者,使用.table-responsive{-sm|-md|-lg|-xl}
选择最多具有响应表的断点。
感谢Jason Bradley提供示例:
答案 1 :(得分:61)
您可能还会考虑尝试使用其中一种方法,因为较大的表在移动设备上并不完全友好,即使它有效:
http://elvery.net/demo/responsive-tables/
我偏爱“不再有桌子”,但这显然取决于你的申请。
答案 2 :(得分:4)
bootstrap中的所有表都根据它们所在的容器进行拉伸。您可以将表放在.span
元素内以控制大小。这个SO问题可以帮助你
答案 3 :(得分:0)
经过近1个月的研究,我发现以下代码在我的网站上运行非常漂亮,并且100%完美。要查看预览的工作方式,您可以从链接中进行检查。 https://www.jobsedit.in/state-government-jobs/
CSS代码-----
@media only screen and (max-width: 500px) {
.resp table {
display: block ;
}
.resp th {
position: absolute;
top: -9999px;
left: -9999px;
display:block ;
}
.resp tr {
border: 1px solid #ccc;
display:block;
}
.resp td {
/* Behave like a "row" */
border: none;
border-bottom: 1px solid #eee;
position: relative;
width:100%;
background-color:White;
text-indent: 50%;
text-align:left;
padding-left: 0px;
display:block;
}
.resp td:nth-child(1) {
border: none;
border-bottom: 1px solid #eee;
position: relative;
font-size:20px;
text-indent: 0%;
text-align:center;
}
.resp td:before {
/* Now like a table header */
position: absolute;
/* Top/left values mimic padding */
top: 6px;
left: 6px;
width: 45%;
text-indent: 0%;
text-align:left;
white-space: nowrap;
background-color:White;
font-weight:bold;
}
/*
Label the data
*/
.resp td:nth-of-type(2):before { content: attr(data-th) }
.resp td:nth-of-type(3):before { content: attr(data-th) }
.resp td:nth-of-type(4):before { content: attr(data-th) }
.resp td:nth-of-type(5):before { content: attr(data-th) }
.resp td:nth-of-type(6):before { content: attr(data-th) }
.resp td:nth-of-type(7):before { content: attr(data-th) }
.resp td:nth-of-type(8):before { content: attr(data-th) }
.resp td:nth-of-type(9):before { content: attr(data-th) }
.resp td:nth-of-type(10):before { content: attr(data-th) }
}
HTML代码-
<table>
<tr>
<td data-th="Heading 1"></td>
<td data-th="Heading 2"></td>
<td data-th="Heading 3"></td>
<td data-th="Heading 4"></td>
<td data-th="Heading 5"></td>
</tr>
</table>