我正在尝试使用固定宽度的内联块重新创建表格元素,并且我在间距元素中遇到了来自浏览器(Chrome 和 IE)的明显不一致的行为。
这是问题的图像:
问题是前两行中的第一行(它应该作为标题并且是页面的静态 HTML 的一部分)span
在右侧得到一个奇怪的间距 - 正如你可以从 CSS 中看到的那样,有一个边距0 声明(这显然是一个 WIP,有些span
应该被div
s 等替换,所以请多多包涵。)。
如果我改为在运行时通过 Javascript 动态添加行,我会得到下面的两行 - 这是预期的行为。在蓝色中,您可以找到这些行的容器 - 100% 的div
元素,包括所有这些。我使用这种方法而不是普通表的另一个原因是我希望动态数据行可滚动,而使用table
.
这是HTML:
<span class="cssTRC">
<span>
<span>Day</span>
<span>Loc</span>
<span>Nagare</span>
<span>Pcs</span>
<span>Packs</span>
</span>
<span>
<span>Thu 30 Aug</span>
<span>E5-1</span>
<span>{only DI}</span>
<span>480</span>
<span>1</span>
</span>
</span>
<span id="ctblrcOrdHist" class="cssTRC">
<span>
<span>Thu 30 Aug</span>
<span>E5-1</span>
<span>DI</span>
<span>480</span>
<span>1</span>
</span>
<span>
<span>Thu 30 Aug</span>
<span>KE-1</span>
<span>DI</span>
<span>500</span>
<span>1</span>
</span>
</span>
和 CSS,定义如下:
.cssTH>span>span,.cssTRC>span>span
{
display:inline-block;
text-overflow:ellipsis;
white-space:nowrap;
overflow:hidden;
font-size:1em;
box-sizing:border-box;
width:5em;
padding:0.2em;
margin:0;
border:0 solid red/*#E8EEF4;*/;
border-width:0 0 1px 1px;
}
.cssTH>span, .cssTRC>span
{
display:block;
}
.cssTRC
{
border:0 solid #E8EEF4;
border-width:1px 1px 0 0 ;
display:block;
/*max-height:200px;
overflow-y:auto;*/
box-sizing:content-box;
}
问题显然是如何在运行时不添加伪标题的情况下获得前两行的预期行为(这听起来很可怕)。
编辑
我写下我认为更方便的解决方案,这样它也可以作为基本 CSS 表格布局的一个小例子,以防有人需要它:
<div>
<span>Day</span
><span>Loc</span
><span>Nagare</span
><span>Pcs</span
><span>Packs</span>
</div>