0

私は非常に奇妙な問題を抱えています:

私のサイト エンジンは php を使用しています。ページが作成されたら、HTML コードを表示し (ブラウザのメニュー「ソース html を参照」を使用)、これを表示します (コードの重要な部分のみをここに配置します):

<div class="main_page_blogs_post2_item1">

            <div><p><p>
    <div class="cblui_image_contaner_" align="center">

しかし、実際の html コードはソース コードとは異なります。firebug を使用してこのコードを表示すると、次のコードが表示されます。

<div class="main_page_blogs_post2_item1">
<div>
<p></p>
<p> </p>
<div class="cblui_image_contaner_" align="center">

終了</p>タグが HTML コードに自動追加されるということですが、その理由はわかりません。JavaScriptだと思っていましたが、JavaScriptを無効にしてページをリロードしようとしましたが、役に立ちません。ソースコードが正しいので、それがphpのせいだとは思いません。

UPD: 私の場合、2 つの開始<p>タグと 2 つの終了タグが組み合わせ</p>に変換されていることがわかりました。<p></p>他のすべての<p>タグは影響を受けていません。

それは何ですか?

ありがとう

PS下手な英語でごめんなさい:)

4

3 に答える 3

2

Firebug は、実際に生成されたコードをブラウザーに表示します。これは、サーバーから送信された html とは異なる (修正、わずかに変更された) 可能性があります。

3 つのステップがあります。

  1. サーバーコード
  2. 生成されたhtml
  3. あなたのブラウザがそれをどうするか (= firebug に表示されるもの)
于 2012-04-11T08:37:53.567 に答える
0

開いている<p>タグを使用することは技術的には問題ありませんが、次のブロック タグに遭遇すると、ブラウザがそれらを自動的に閉じるのではないかと思います。タグを使用<br/>して改行を追加するか、<p>ノードにテキストを追加します。

ブラウザは次のような入力を処理できます。

<p>Lorem ipsum
<p>Foobar text

そして、それが読んだかのように自動的に解釈します

<p>Lorem ipsum</p>
<p>Foobar text</p>

したがって、あなたのコード

<div>
<p><p>
<div> ....

になります:

<div>
<p></p><p></p>
<div> ....

HTML doctype を設定して、それに対する html/xml ルールに固執してみてください。HTML にエラーがないようにして、w3c バリデーターでテストします。経験則として、<p>タグを閉じずに使用したり、他のブロック タグをラップしたりしないでください。

于 2012-04-11T13:17:06.137 に答える
0

Firebug は修正されたソースを表示します。これは、不足しているタグを追加することを意味します。実際の html を表示する適切な方法は、ブラウザで「ソース html を表示」することです。

于 2012-04-11T08:39:23.020 に答える