1

div 要素と p 要素が CSS によって空で、ソース コードでユーザーにタグが表示されない場合、どのようにそれらを折りたたむことができますか?

これらの要素は空ですが、私のソース コードにあります。これにより、サイトの残りの部分でバグが発生します。

私はこれを実行できませんでした

div.unsuccessful,
div.unsuccessful p {
    visibility: collapse;                                                                                                                                                                                      
}

これは、CSS では明らかにそのようなことはできないことを示唆しています。おそらく、PHP などの他のツールが必要です。

4

5 に答える 5

5

CSS は実際の HTML コードに影響を与えないため、これを行うことはできません。:empty(今後の) CSS3 では、疑似クラスを使用してレンダリングを停止できます。

div:empty {
    display: none;
}

もちろん、それは同じことではありませんが、おそらくあなたが抱えている問題を解決するでしょう..ブラウザだけが実際にそれをサポートしていれば、まだサポートしていません.

最良のオプションは、PHP などのスクリプト言語を使用して、サーバーでそれらを削除することです。JavaScript を使用してクライアント側で実行できると思いますが、それは恐ろしい解決策です。

そうは言っても、これらの空のタグにはどのような問題がありますか? そもそもなぜ彼らはそこにいるのですか?そもそも不要なタグが生成されないようにするために、いくつかの再設計が必要なようです。

また、注意してください。空のタグが常に無意味であるとは限りません。実際、そこにあるすべての空を削除することは、<div>有害であると見なすことができます.

于 2009-08-20T05:07:18.533 に答える
1

はい、それらがソースに含まれないようにする場合は、サーバー コードで適切な考慮事項を作成する必要があります。別の方法として、JavaScript で HTML を設定することもできますが、おそらくこの問題に対して推奨される方法ではありません。ただし、何をしようとしているのかについて、もう少し言いたいことがあります。

于 2009-08-20T04:50:36.197 に答える
1
div { display: none; }

ページから要素を完全に削除します。

CSS をどのように使用しても、ソース コードに表示されます。ブラウザーは HTML ソースと CSS ディレクティブを表示可能なページに結合します。元のソースは変更されません。CSS は要素の視覚的な表示にのみ影響を与えることができ、要素を変更することはできません。実際に DOM から要素を削除するには、Javascript が必要です (または、最初から要素を配置しないでください)。

于 2009-08-20T04:51:47.053 に答える
1

Visibility プロパティは、オブジェクトのコンテンツを表示するかどうかを設定するためのものです。DOM 内から要素を削除することはありません。

collapse Windows Internet Explorer 8 の新機能

テーブルで行と列を削除するために使用されます。他のすべての要素については、hidden と同じです。

また、なぜそうしたいのですか?

于 2009-08-20T04:52:16.147 に答える
0

はい、サーバー側の処理を使用して、ユーザーにコードを表示または非表示にする必要があります。

if ($showAdminLink) {
    echo "<p><a href=\"admin.php\">Admin panel</a></p>";
}

どのようなトリックを試しても、クライアント側で行われたもの (HTML、Javascript、CSS) は変更して再生できます。

于 2009-08-20T04:55:54.190 に答える