我想显示一个表(但我正在使用div),因为表很长,所以会滚动溢出。我遇到的问题是我的div之间存在未知的差距。
以下是片段:导致列(div)之间不必要的间隙的原因是什么?
.mobile-cross-reference {
border: 1px solid #2980b9;
color: #333;
float: left;
margin: 2%;
width: 96%;
}
.m-grid-scroll {
overflow-x: scroll;
}
.m-grid-header {
background-color: #2980b9;
color: white;
text-align: center;
}
.m-grid-header,
.m-grid-row {
float: left;
width: 100%;
}
.m-grid-header-col {
background-color: #2980b9 !important;
}
.m-grid-row-inline {
background-color: transparent;
display: inline-block;
float: none;
white-space: nowrap;
}
.m-grid-col {
border-right: 1px solid #ccc;
float: left;
padding: 1% 0 1% 1%;
}
.m-grid-col:last-child {
border-right: 0;
}
.m-grid-col3 {
width: 31%;
}
.m-grid-inline {
display: inline-block;
float: none;
margin: 0;
}
<div class="mobile-cross-reference m-grid-scroll">
<div class="m-grid-header m-grid-row-inline">
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Bourns</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">BI Tech</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Dale/Vishay</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Philips/Mepco</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Murata</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Panasonic</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Spectrol</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Mil Spec</div>
</div>
<div class="m-grid-row m-grid-row-inline">
<div class="m-grid-col m-grid-inline m-grid-col3">Bourns</div>
<div class="m-grid-col m-grid-inline m-grid-col3">BI Tech</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Dale/Vishay</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Philips/Mepco</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Murata</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Panasonic</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Spectrol</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Mil Spec</div>
</div>
</div>
答案 0 :(得分:0)
有趣的是,div标签之间的空白区域。请参见第一列。
.mobile-cross-reference {
border: 1px solid #2980b9;
color: #333;
}
.m-grid-scroll {
overflow-x: scroll;
}
.m-grid-header {
background-color: #2980b9;
color: white;
text-align: center;
}
.m-grid-header,
.m-grid-row {
width: 100%;
white-space:nowrap;
display:block;
}
.m-grid-header-col {
background-color: #2980b9 !important;
}
.m-grid-row-inline {
background-color: transparent;
white-space: nowrap;
}
.m-grid-col {
border-right: 1px solid #ccc;
padding:0px;
margin:0px;
}
.m-grid-col:last-child {
border-right: 0;
}
.m-grid-col3 {
width: 31%;
}
.m-grid-inline {
display: inline-block;
margin: 0;
}
&#13;
<div class="mobile-cross-reference m-grid-scroll">
<div class="m-grid-header m-grid-row-inline"><div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Bourns</div><div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">BI Tech</div><div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Dale/Vishay</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Philips/Mepco</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Murata</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Panasonic</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Spectrol</div>
<div class="m-grid-col m-grid-inline m-grid-col3 m-grid-header-col">Mil Spec</div>
</div>
<div class="m-grid-row m-grid-row-inline">
<div class="m-grid-col m-grid-inline m-grid-col3">Bourns</div>
<div class="m-grid-col m-grid-inline m-grid-col3">BI Tech</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Dale/Vishay</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Philips/Mepco</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Murata</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Panasonic</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Spectrol</div>
<div class="m-grid-col m-grid-inline m-grid-col3">Mil Spec</div>
</div>
</div>
&#13;
答案 1 :(得分:0)
如果有人遇到这个问题,这里有两件事要说。
正如已经观察到的那样,标记存在一些问题。有时,从其他地方复制代码时,空格并非完全是空格,而是实际上呈现为字符。我几乎可以肯定,这里就是这种情况,只是懒得复制片段并进行检查。
在行元素上使用font-size: 0
和在列上使用font-size: <whatever-value-should-be>
可以解决此问题,而无需干预HTML。之所以可行,是因为在该行上将font-size设置为0会使“隐藏的字符”完全消失-它们的字体大小为0。由于继承了字体大小(即0),因此应该在子级中恢复该字体大小。