固定幅のインライン ブロックを使用してテーブル要素を再作成しようとしていますが、ブラウザー (Chrome および IE) の間隔要素で明らかに一貫性のない動作に苦しんでいます。
問題の画像は次のとおりです。
問題は、最初の 2 行 (ヘッダーとして機能し、ページの静的 HTML の一部である必要があります) のspan
右側に奇妙なスペースができることです。CSS から以下を読むことができるように、以下のマージンがあります。 0 が宣言されました (これは明らかに WIP です。一部span
は s などに置き換える必要があるdiv
ため、ご容赦ください。)
代わりに、Javascript を使用して実行時に行を動的に追加すると、下の 2 つの行が表示されます。これは予想される動作です。青でこれらの行のコンテナを見つけることができます - これらdiv
すべてを含む要素の 100%。通常のテーブルの代わりにこのアプローチを使用している理由は、動的データ行をスクロール可能にしたいからです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;
}
問題は明らかに、実行時に疑似ヘッダーを追加せずに最初の 2 行で期待される動作を取得する方法です (これは恐ろしいことです)。
編集
誰かがそれを必要とする場合に備えて、これが基本的な CSS テーブルレイアウトの小さな例としても機能するように、より便利だと思うソリューションを書き留めます。
<div>
<span>Day</span
><span>Loc</span
><span>Nagare</span
><span>Pcs</span
><span>Packs</span>
</div>