css - 带有空格的内联 block 元素之间的间隙 : nowrap and overflow: scroll parent element

标签 css overflow whitespace css-tables nowrap

我想显示一个表格(但我使用的是 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>

最佳答案

如果有人遇到这个问题,这里有两件事要说。

  1. 正如已经观察到的,标记存在一些问题。有时,当从其他地方复制代码时,空格并不完全是空格,实际上会呈现为字符。我几乎可以肯定这里就是这种情况,只是懒得复制代码片段并检查。

  2. 使用 font-size: 0在行元素和font-size: <whatever-value-should-be>上列本身修复了问题,而无需干预 HTML。这是有效的,因为在行上将 font-size 设置为 0 会使“隐藏字符”完全消失 - 它们的字体大小为 0。然后应在子项中恢复 font-size,因为它(即 0)是继承的。

关于css - 带有空格的内联 block 元素之间的间隙 : nowrap and overflow: scroll parent element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44937230/

相关文章:

html - IE11 上的奇怪边距问题 - 溢出和平滑滚动可能相关

regex - 如何限制正则表达式中的可选空白匹配

javascript - 在不使用服务器的情况下在 HTML 页面中使用 XML

html - 所有浏览器的嵌套导航菜单悬停问题

jquery - 在 jQuery 中将下拉列表最大高度限制为屏幕高度

jquery - 完全删除水平滚动条

css - 自动调整元素的组成

css - 使用样式化组件更改 Ant Design 中标题组件的颜色?

Java 和空格作为语法(ala Python)?

css - CSS 选择器中的空格