8

表の行の高さを制御する必要があります。セルの高さを設定しようとしましたが、壁にぶつかっています。デモを参照してください

tr.fixedRow,
tr.fixedRow td.fixedCell {
     height: 50px;
     overflow: hidden; }

displayいくつかのことを変更できることはわかっていblockますが、そうすると、一般的にテーブルが台無しになります.近くの他のテーブルと相互作用し、ピクセルを完全に並べる必要があるかなり複雑なテーブルで作業しているので、一般に、 を変更してdisplayから、CSS を使用して再びテーブルのように見せようとすることは、一致しないため、私にとっては良い解決策ではありません。テーブルにとどまるために必要です。

私もこれを避けたい:

<td><div>
   ... cell content...
</div></td>

ひどい形のようです。こんなに単純なものに対する CSS のみの解決策は確かにありますか?

4

1 に答える 1

16

期待どおりに機能しない css プロパティに依存してこれを達成しようとしています: CSS オーバーフローはブロックレベルの要素に適用されますが、そうで<td>はありません (css: display: table-cell;)。

MDN の CSS オーバーフローを参照してください

このため、 s に設定display: block;しない限り、固定の高さを達成する<td>ことはできないと思います-テーブルの配置が崩れるのでできないとあなたは言ったので、私の意見では、唯一の賢明な代替手段は次のとおりです。

<td><span>...</span></td>

<span>設定するとdisplay: block;(divの代わりにブロックにスパンを設定しても実際には違いはありませんが、adivがHTML検証を破るという事実を除けば、スパンはそうではありません-ブロック要素は要素で許可されていませんtd

それは私が考えることができる最もエレガントで有効な方法です。

于 2012-10-31T00:32:11.647 に答える