9

HTML コードの余分な改行により、最終出力に不要なスペースが追加される可能性があるようです。HTML コードをどのようにレイアウトしても、レンダリング結果の外観には影響しないと常に考えていました。しかし、ここに例があります:

<h2>
    <a href="#">Hello.</a>World
</h2>

「 Hello.World 」が表示されます- すべてが期待どおりに見えます

<h2>
    <a href="#">Hello.</a>
    World
</h2>

次のように表示されます: " Hello. World " -ドットの後に余分なスペースがあります!

この効果を取り除く機会はありますか?コードを別々の行に配置したいのですが、余分なスペースを作成したくありません。

4

5 に答える 5

19

コメントを使用できます:

<h2>
    <a href="#">Hello.</a><!--
    -->World
</h2>

または、タグ内にスペースを入れます:

<h2>
    <a href="#">Hello.</a
    >World
</h2>
于 2009-11-15T10:00:33.590 に答える
7

いいえ、この場合はありません。

HTML では、すべての空白がスペースとしてカウントされますが、複数の空白文字が連続していても 1 つとしてカウントされます。したがって、コードは次と同等です。

<h2> <a href="#">Hello.</a> World </h2>

ブロック要素に隣接するスペースは削除されますが、テキスト内のスペースは削除されません。アンカー タグはインライン要素であるため、コンテンツが変更されるため、その隣のスペースを削除することはできません。したがって、できる限りスペースを削除すると、次のようになります。

<h2><a href="#">Hello.</a> World</h2>

そのため、コンテンツの一部でない限り、好きな場所に余白を追加できます。これ:

<h2    >

  <p >  test      test    </p     >

  <p   >  test       test  </p  >

</h2   >

(結果に影響しないスペースを削除した後)と同等になります:

<h2><p>test test</p><p>test test</p></h2>
于 2009-11-15T09:33:53.517 に答える
1

改行は常にスペースに変換されます。すべてのリスト項目要素が新しい行に書き込まれると、IE ではさらに悪化します。悲しいけれど事実です。

于 2009-11-15T09:26:59.383 に答える
1

私はあなたができないことを恐れています。空白のグループはすべてスペースと見なされます。

別の方法:

<h2>
    <a href="#" style="float: left;">Hello.</a>
    <span style="float: left;">World</span>
</h2>

しかし、浮遊要素のために解決すべき別の問題があります。

于 2009-11-15T09:29:08.723 に答える