应该遵循w3c所制定的html/xhtml标准来使用tag和编写网页。如果你对此不太了解,可以到w3c的网站www.w3.org去找相关资料,或者买一本xhtml的书(注意不要买过时的html的书,尽量选择外国人写的)看。
在你的这个问题里,你首先要了解的是block元素和inline元素的区别,p、div等属于block元素,而a、span、br都是inline的元素。text-indent既然是定义与一个段落相关的信息,即段首缩进,则只作用在block元素上而不是inline元素上。
这样,如果你写出的是:
p { text-indent:2em }
<p>first para...</p>
<p>second long paragraph ................................................................................................................................................................</p>
就能达到效果。
但是,如果是
<p>
first line<br />
second line<br />
</p>
则不能达到你的预想,因为text-indent是p的样式,而不是br的样式。那么可否为br设定text-indent样式呢?
显然,因为br根本就是一个空元素,表示换行而已,因此设定了text-indent也没有用,br之内根本就没有内容,又何谈内容的样式?
造成这种困惑的原因在于,你没有从传统的纯文本以/n换行符表示段落结束和开始的习惯中进入标记语言的思维,因此不理解文本段落就应该用p来表示。br仅仅是提供在必要时候强制换行(比如用于表示程序代码的换行)的格式标记。