如何使用CSS縮進段落

使用文本縮進屬性和相鄰兄弟選擇器

良好的網頁設計往往是很好的排版。 由於如此多的網頁內容以文本形式呈現,因此能夠將文本樣式設計為既具吸引力又有效,這是網頁設計師具備的一項重要技能。 不幸的是,我們在網上印刷的印刷控制水平並不一樣。 這意味著我們不可能總是可靠地在網站上設置文本樣式,就像我們可以在印刷品上一樣。

您經常在打印中看到的一種常見段落樣式(我們可以在線重新創建)是該段落的第一行縮進一個製表符空間的位置 。 這使讀者能夠看到一個段落的開始和另一個段落的結束。

您在網頁中看不到這種視覺風格,因為默認情況下,瀏覽器會在其下方顯示帶有空格的段落,以此來顯示一個結束點和另一個結束點的開始位置,但如果您想讓頁面的樣式具有該打印效果,啟發了段落的縮進樣式,您可以使用text-indent樣式屬性來實現。

這個屬性的語法很簡單。 以下是如何將文本縮進添加到文檔中的所有段落。

p {text-indent:2em; }

自定義縮進

一種可以精確指定要縮進的段落的方法是,可以向要縮進的段落添加一個類,但這需要您編輯每個段落以向其中添加一個類。 這是低效的,並不遵循HTML編碼最佳實踐。

相反,您應該考慮何時縮進段落。 您縮進緊接著另一段落的段落。 要做到這一點,你可以使用相鄰的兄弟選擇器。 使用此選擇器,您可以選擇緊接在另一段前面的每個段落。

p + p {text-indent:2em; }

由於您要縮進第一行,因此還應確保段落之間沒有任何額外的空間(這是瀏覽器的默認設置)。 在風格上,你應該在段落之間有空格或者縮進第一行,但不能同時使用兩者。

p {margin-bottom:0; padding-bottom:0; } p + p {margin-top:0; padding-top:0; }

負縮進

您還可以使用text-indent屬性以及負值,以使行的開始位置向左而不是像正常縮進那樣向右。 如果一行以引號開頭,以便引用字符出現在段落左側的略微空白處,並且字母本身仍然形成一個很好的左對齊,則可以這樣做。

比如說,你有一個段落是一個塊引用的後裔,你希望它被負面縮進。 你可以寫這個CSS:

blockquote p {text-indent:-.5em; }

這會使該段的開頭部分(可能包括開頭引號字符)略微移動到左側以創建掛起的標點符號。

關於邊距和填充

在網頁設計中,通常使用邊距或填充值來移動元素並創建空白區域。 但是,這些屬性無法實現縮進的段落效果。 如果將這些值中的任何一個應用於段落,則該段落的整個文本(包括每一行)將被間隔開,而不僅僅是第一行。