7

私は Aptana で Web サイトを作成しており、border-bottom のスタイリングに空の div 要素を使用しています。

常に同じ幅にする必要があり、実際にはコンテンツに応じて親要素のサイズが変わるため、境界線である要素の一部にすることはできませんでした。

質問:このように空の div を使用するのは悪いことですか? Aptana から警告が表示されます。「空のdivをトリミングする必要があります」と表示されます。

ここでは、クラス「showinfo-border-left/right」で div について話しています。

<div class="showinfo">
    <div class="showinfo-left">Text</div>
    <div class="showinfo-right">More text</div>
</div>
    <div class="showinfo-border-left"></div>
    <div class="showinfo-border-right"></div>
4

6 に答える 6

6

HTML5仕様から:

3.2.8.2.8触知可能なコンテンツ

原則として、コンテンツモデルでフローコンテンツまたはフレージングコンテンツが許可される要素には、触知可能なコンテンツであり、hidden属性が指定されていない子ノードが少なくとも1つ必要です。

ただし、要素が合法的に空になる可能性がある場合が多いため、この要件は難しい要件ではありません。たとえば、後でスクリプトによって入力されるプレースホルダーとして使用される場合や、要素がテンプレートであり、ほとんどのページで記入されますが、一部のページでは関連性がありません。

したがって、divはフローコンテンツを許可するためです。空のdivは一般的に避けるべきものですが、無効でも、ハングアップするものでもありません。

于 2013-01-06T15:01:03.770 に答える
4

いいえ、このように使用するのは悪くありません。ただし、次のような疑似コンテンツを使用してこれを回避できます。

.showinfo:after{
content: "";
display: block;
/*
 this will be the style for your div after
 but dont forget to specifiy the width and height and act like its a new div
 */
}
于 2013-01-06T13:10:17.217 に答える
4

ウェブページを高速化するためのベスト プラクティスから

DOM 要素の数を減らす

複雑なページは、ダウンロードするバイト数が増えることを意味し、JavaScript での DOM アクセスが遅くなることも意味します。たとえば、イベント ハンドラーを追加するときに、ページ上の 500 または 5000 の DOM 要素をループすると、違いが生じます。DOM 要素の数が多いということは、必ずしもコンテンツを削除することなく、ページのマークアップを改善する必要があることを示している可能性があります。レイアウト目的でネストされたテーブルを使用していますか? <div>レイアウトの問題を修正するためだけに sを投入していませんか? おそらく、マークアップを行うためのより適切で意味的に正しい方法があるでしょう。YUI CSS ユーティリティは、レイアウトに非常に役立ちます。 grids.css は全体的なレイアウトに役立ち、fonts.css と reset.css はブラウザーのデフォルトのフォーマットを削除するのに役立ちます。これは、新たに開始して、マークアップについて考えるチャンスです。<div>新しい行をレンダリングするためではなく、意味的に意味がある場合にのみ使用します。DOM 要素の数は簡単にテストできます。Firebug のコンソールに次のように入力するだけです。適切なマークアップを持つ他の同様のページを確認してください。たとえば、Yahoo! ホームページはかなり忙しいページで、まだ 700 要素 (HTML タグ) 未満です。

于 2013-01-06T13:10:42.990 に答える
1

数個または数十個の場合は、大きな違いはなく、うまく機能すれば使用できます。

ただし、それらが100以上ある場合は、DOM要素の数が増えるため、アプローチを再検討する必要があります。一般に、DOM要素は少ないほど良いです。最適化の詳細については、この優れたYahooの最適化に関する記事を参照してください。

于 2013-01-06T13:02:51.873 に答える
-2

ええ、それは奇妙に思えますが、私たちは空のdivを広く使用しています。divの背景としてスプライトを設定するなど。すべてのウェブサイトは空のDivを使用しています。あなたがそれを使いたいなら、あなたはそうすることができます。制限はありません。

于 2013-01-06T13:04:02.893 に答える