是一個(gè)包含大量代碼的網(wǎng)頁(yè)(比如文檔或教程)在樣式上無(wú)法避免的問(wèn)題。其中最大的一個(gè)問(wèn)題就是讓tab合適地用來(lái)縮進(jìn)代碼。默認(rèn)情況下是這樣的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
pre, code{
font-family: monospace;
}
pre{
display: block;
margin: 1em 0;
white-space: pre;
}
</style>
</head>
<body>
<pre><code>while (true) {
var d = new Date();
if (d.getDate()==1 &&
d.getMonth()==3) {
alert("TROLOLOL");
}
}</code></pre>
</body>
</html>
你可以看到一個(gè)tab的大概是8個(gè)字符。
這里的方法很簡(jiǎn)單,只要如下就可以:
pre{
display: block;
margin: 1em 0;
white-space: pre;
tab-size: 2;
}
這里需要注意的是tab-size后的數(shù)字是指對(duì)應(yīng)數(shù)字大小的幾個(gè)字符的寬度。
進(jìn)是 Word 文檔中左頁(yè)邊距和文本開(kāi)頭之間的間隙。縮進(jìn)表示段落中文本的開(kāi)始。它也有不同的風(fēng)格。在 Microsoft Word 中,您可以使用三種樣式的段落縮進(jìn) – 標(biāo)準(zhǔn)、第一行和懸掛。
每種縮進(jìn)樣式在不同情況下都有其用途。對(duì)于標(biāo)準(zhǔn)縮進(jìn)樣式,每行文本都會(huì)縮進(jìn)指定的量。首行縮進(jìn)樣式應(yīng)用于每個(gè)段落的第一行。最后,將懸掛縮進(jìn)樣式應(yīng)用于每個(gè)段落的第二行和后續(xù)行。
鍵盤上的 Tab 鍵是縮進(jìn)段落的最快方法。但是,最好在縮進(jìn) Word 文檔中的各個(gè)段落時(shí)使用它。使用方法如下:
步驟 1:?jiǎn)螕羧蝿?wù)欄上的“開(kāi)始”按鈕并輸入單詞來(lái)搜索該應(yīng)用程序。
步驟 2:從結(jié)果中,單擊 Microsoft Word 應(yīng)用程序或文檔將其打開(kāi)。
步驟 3:將光標(biāo)放在文檔中要縮進(jìn)的段落上。對(duì)于首行縮進(jìn),請(qǐng)將光標(biāo)放在段落的開(kāi)頭。對(duì)于標(biāo)準(zhǔn)縮進(jìn),請(qǐng)將光標(biāo)放在段落中任何其他行的開(kāi)頭。
步驟 4:按鍵盤上的 Tab 鍵。對(duì)于首行縮進(jìn),按 Tab 鍵應(yīng)在左頁(yè)邊距和第一行之間留下間隙。對(duì)于標(biāo)準(zhǔn)縮進(jìn),請(qǐng)?jiān)谧箜?yè)邊距和整個(gè)段落之間留出間隙。
用空格還是 tab 的這個(gè)問(wèn)題,如同程序員之間的『語(yǔ)言之爭(zhēng)』,『vim/emacs編輯器之爭(zhēng)』一樣是個(gè)永遠(yuǎn)的圣戰(zhàn),這個(gè)爭(zhēng)論不會(huì)有結(jié)果,你怎么選擇都有自己的道理,只是看你選擇認(rèn)同誰(shuí)而已。
就我而言,我提倡盡可能用空格(除了少數(shù)必須用tab的情形以外)。理由如下:
空格在各種情況下代碼都是你想要的樣子。而 tab 僅僅當(dāng)你與代碼作者的 tab 尺寸設(shè)定為相同時(shí),代碼才好看。
修改 tab 尺寸并不能解決這個(gè)問(wèn)題,因?yàn)槟愫茈y做到每打開(kāi)一個(gè)文件就修改一次 tab 尺寸,而每個(gè)人通常有不同的習(xí)慣(POSIX/Unix 標(biāo)準(zhǔn)的 tab 應(yīng)當(dāng)為 8 字符寬度,Linus 大神也規(guī)定 Linux 內(nèi)核中所有代碼的 tab 尺寸為 8)。如果存在行尾注釋,則 tab 尺寸更加是必須設(shè)定為與作者相同,這就意味著你看不同的代碼需要經(jīng)常修改 tab 尺寸。我看過(guò)許多代碼,其使用的 tab 尺寸有從 2,3,4,5,6,8,16 甚至 32 的,如果你使用的 tab 尺寸與作者不同,外觀將很不理想。
靠譜的編輯器都能解決前進(jìn)后退增加減少縮進(jìn)的問(wèn)題,即便是四個(gè)空格,一個(gè)退格鍵也能全退了,所以在使用的方便性方面根本不存在問(wèn)題。——如果抱怨刪除調(diào)整還不能有效解決的,你需要研究一下你的編輯器了。實(shí)際上增加減少縮進(jìn)在主流編輯器中都直接有快捷鍵,無(wú)論是 tab 還是空格還是退格都很少直接被用于縮進(jìn)。
tab 是制表符而不是縮進(jìn)符,正如在 html 頁(yè)面中大量使用<table>進(jìn)行布局是個(gè)不好的編程習(xí)慣一樣,在編程中大量使用制表符布局通常也不是個(gè)好習(xí)慣。
如果代碼需要壓縮發(fā)布,使用空格的代碼通常具有更好的壓縮率。各位不信的可以使用批處理工具把代碼用全空格或者全 tab 走一遍。——這里面的原理是信息量,使用 tab 縮進(jìn)的代碼中,仍然不可避免的含有空格(運(yùn)算符之間的間隔,注釋等等),但使用空格的代碼中根本不含有 tab,這使得 tab 縮進(jìn)代碼雖然不壓縮的時(shí)候更小,但熵更高,因而壓縮率較差,壓縮之后反而更大。——當(dāng)然,壓縮發(fā)布代碼僅僅對(duì)開(kāi)源軟件有意義,商業(yè)軟件可以無(wú)視。那么你覺(jué)得呢
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。