HTMLテーブル行<tr>
を非表示にしてスペースを占有しないようにするにはどうすればよいですか? <tr>
をstyle="display:none;"
に設定しているものがいくつかありますが、それでもテーブルのサイズに影響し、テーブルの境界線は非表示の行を反映します。
あなたのTABLEのスタイルを見たいです。例えば。 「境界崩壊」
推測に過ぎませんが、「非表示」行のレンダリング方法に影響する可能性があります。
コードを含めることができますか? style="display:none;"
をテーブルの行に常に追加すると、行全体が事実上非表示になります。
<tr id="result_tr" style="display: none;">
を設定してから、JavaScriptで表示できます。
var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
display: none;
が機能しない場合、代わりにheight: 0;
を設定してはどうですか?要素をさらに削除するために、負のマージン(上部および下部の境界線の高さ(ある場合)以上)と併せて? position: absolute; top: 0; left: -4000px;
が機能するとは思いませんが、試してみる価値はあります。
私の側では、display: none
を使用するとうまくいきます。
私はこれに他の潜在的な解決策を追加すると思いました:
<tr style='visibility:collapse'><td>stuff</td></tr>
Chromeでのみテストしましたが、これを<tr>
に配置すると、行が非表示になり、行内のすべてのセルが列の幅に影響します。特定の列が特定の幅より小さくならないように、いくつかのスペーサーだけでテーブルの下部に余分な行を作成し、このメソッドを使用して行を非表示にすることがあります。 (私はあなたが他のCSSでこれを行うことができるはずだと知っていますが、私はそれを動作させることはありませんでした)
繰り返しますが、私は純粋にchrome環境にいるので、これが他のブラウザーでどのように機能するのかわかりません。
私は同じ問題を抱えていました。各セルにstyle = "display:none"を追加しました。
最後に、HTMLコメントを使用しました<!-- [HTML] -->
次のline-height:0px; font-size:0px; height:0px; margin:0; padding:0;を追加します
誰がそれをするか忘れます。 IE6の行の高さだと思います。
スタイルdisplay:noneをtrとともに使用して非表示にでき、すべてのブラウザーで機能します。
これは私に起こり、私はその理由について困惑しました。その後、私は任意のnbspを削除した場合に気づいた。行内にあったので、行がスペースを占有しませんでした。
var result_style = document.getElementById('result_tr').style;
result_style.display = '';
私にとって完璧に働いています。
入力タイプを非表示に変更する必要があります。入力タイプはすべて機能しますが、ページには表示されません
<input type="hidden" name="" id="" value="">
入力タイプがそれに設定されている限り、残りを変更できます。がんばろう!!