2010-12-08 17 views
1

次の2つの時刻が同じに表示されないのはなぜですか?また、2回目の表示を最初のようにするにはどうすればよいですか?HTMLの文字間隔とスパン

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>Untitled Page</title> 
</head> 
<body> 
    <div> 
    8:00 
       <span>8</span> 
       <span>:</span> 
       <span >00</span> 
    </div>    

</body> 
</html> 

答えて

1

spanタグの間に改行を取り除きます。このように:

<div> 
8:00 
      <span>8</span><span>:</span><span >00</span> 
</div>  

私はハードスペックでそれを見つけるために押されていますが、事実上すべてのブラウザは、すべての空白を取り、1つのスペースにそれを「圧縮」ことが表示されます。

ここにはrelated SO postがあります。

レンダリングをより正確に処理するには、String.Formatを使用することをお勧めする回答があります。これは、特定の状況で役立ちます。

更新:

HTML 4 specよると:

SGMLを([ISO8879]を参照してください、セクション7.6.1) はすぐに開始タグ、次の改行 が 無視しなければならないことを指定します終了タグの直前に改行を入れてください( )。この は、 例外を除くすべてのHTML要素に適用されます。

また、これをバグhereとして説明する興味深い記事があります。

+0

有効な応答をありがとう。しかし、これは実際にラベルコントロール用にスパンを入れているaspxページの出力です。私はそれに対処する必要があると思う。 – tim

+0

ご参考まで:私はあなたの答えのおかげで私の問題を解決しました。私はすべてのasp.netラベルタグを1行に置いています。 – tim

関連する問題