更新された回答:
以下のコメントで、探している結果は「ab」が隣り合っており、その間にスペースや改行がまったくないと言っていました。
"a" と "b" が本当にtextの場合、オプションはないと思います。それらを隣り合わせにする場合は、改行を削除する必要があります。(あなたがそれをしたくないと言ったのは承知しています。私はただ言っているだけです。あなたには選択の余地がないと思います。)
「a」と「b」が要素の場合 (大きなフォームを出力していると言っていました)、負の CSS マージンでゲームをプレイできますが、見苦しくなります。または、その改行をタグに移動する古いトリック、たとえば:
<input name="a" type="text"
><input name="b" type="text"
>
タグ内の改行は表示されません (テキストではなくタグ内にあるため)。
全体的なマークアップによっては、要素間の空白に関する以下のリンクも役立つ場合があります。基本的に、ブラウザが要素間の空白を無視する場合があるため、それを行うように少し調整できる場合があります。
あなたは読みやすさのためにそれを使用していると言いました。別のオプションは、非常に冗長ですが、改行をコメントに入れることだと思います。
form field here<!--
-->next form field here<!--
-->next form field here
...しかし、繰り返しになりますが、非常に冗長です (そして、おそらく読みやすさにはあまり影響しません)。
あなたの最善の策は、あなたが望んでいないと言ったものです:改行を削除してください。:-)
元の答え:
(「ab」を隣り合わせにすることが不明確だった頃から、ほぼ全員が改行を表示したいと考えていました。)
ソース コードで '\n' が使用されている場合、ブラウザーにスペースが表示されるのはなぜですか?
HTML 標準では、空白文字のすべてのシーケンス (要素間の空白文字を除く) は単一のスペースとして扱われると規定されているためです。したがって、HTML の場合、改行、スペース、タブ、キャリッジ リターン、およびフォームフィードはすべてまったく同じです。これらはスペースとして表示されます。
改行を削除せずにこの「スペース」を回避するにはどうすればよいですか?
いくつかの方法があります:
br
要素を使用できます:
a<br>b
ブロック表示を使用する別のコンテナーに と を配置できます (既定では と の両方が実行a
され、CSS を使用して他のコンテナーに適用できます)。b
p
div
display: block
<p>a</p>
<p>b</p>
また
<div>a</div>
<div>b</div>
等
その改行を改行として本当に扱いたい場合はpre
、事前にフォーマットされたテキストを特別に処理する要素を使用できます
<pre>a
b</pre>
white-space
...そして、CSS のスタイル(値pre
、pre-wrap
、および)を使用して、同じ種類の処理を他の要素に適用できますpre-line
。