用CSS定義每段首行縮排2個字元
你應該遵循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僅僅是提供在必要時候強制換行(比如用於表示程式程式碼的換行)的格式標記。