aboutsummaryrefslogtreecommitdiff
path: root/files/zh-tw/conflicting/learn/html/introduction_to_html/index.html
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 13:12:08 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 13:12:08 +0100
commit43a5cac2eff22c21071800e13bef12af9d3a37d0 (patch)
treef6e91f8aa958f15bd0b0aabf7b8dfc09063eceda /files/zh-tw/conflicting/learn/html/introduction_to_html/index.html
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-43a5cac2eff22c21071800e13bef12af9d3a37d0.tar.gz
translated-content-43a5cac2eff22c21071800e13bef12af9d3a37d0.tar.bz2
translated-content-43a5cac2eff22c21071800e13bef12af9d3a37d0.zip
unslug zh-tw: move
Diffstat (limited to 'files/zh-tw/conflicting/learn/html/introduction_to_html/index.html')
-rw-r--r--files/zh-tw/conflicting/learn/html/introduction_to_html/index.html90
1 files changed, 90 insertions, 0 deletions
diff --git a/files/zh-tw/conflicting/learn/html/introduction_to_html/index.html b/files/zh-tw/conflicting/learn/html/introduction_to_html/index.html
new file mode 100644
index 0000000000..29c2532f6f
--- /dev/null
+++ b/files/zh-tw/conflicting/learn/html/introduction_to_html/index.html
@@ -0,0 +1,90 @@
+---
+title: 應該避免的過時語法
+slug: Web_開發/Historical_artifacts_to_avoid
+translation_of: Learn/HTML/Introduction_to_HTML
+translation_of_original: Web/Guide/HTML/Obsolete_things_to_avoid
+---
+<h2 id="介紹">介紹</h2>
+
+<p>許多人藉由觀看原始碼,然後複製貼上來學習 HTML、CSS 及 JavaScript。然而他們並沒有考慮到原本的網站,是否正確實做過。這意味著他們延續了一些過去必要,但現在不需要的程式慣例。這篇文章就是要列出那些隨著時間,變得不必要、或糟糕的程式語法。</p>
+
+<h2 id="Doctype">Doctype</h2>
+
+<p>大約有十來種 <a class="external" href="http://en.wikipedia.org/wiki/Document_Type_Declaration">(X)HTML文件類型描述(doctype)</a>,他們之間的差異非常細微(甚至沒差別),我們建議你使用以下 HTML5 的文件類型宣告:</p>
+
+<pre>&lt;!DOCTYPE html&gt;</pre>
+
+<p>如此會觸發所有瀏覽器使用標準模式(甚至包含 Internet Explorer 6)。</p>
+
+<h2 id="&lt;meta>_元素與_charset_屬性"><code>&lt;meta&gt;</code> 元素與 <code>charset</code> 屬性</h2>
+
+<p>如同以下的原始碼寫法並不少見:</p>
+
+<pre>&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;</pre>
+
+<p>然而,就算你把它縮減成這樣,所有的瀏覽器還是會做出相同判定(甚至包括Internet Explorer 6):</p>
+
+<pre>&lt;meta charset="UTF-8" /&gt;
+</pre>
+
+<p>這些知識已經透過<a href="https://blog.whatwg.org/the-road-to-html-5-character-encoding">逆向工程(reverse engineering)</a>與<a href="http://lists.w3.org/Archives/Public/public-html/2007Jul/0550.html#replies">實用主義(pragmatism)</a>證實。用就對了。</p>
+
+<h2 id="不存在的_&lt;meta>_元素">不存在的 <code>&lt;meta&gt;</code> 元素</h2>
+
+<p>許多被棄用或不標準的值,常常因為從某個頁面被複製到另個頁面,而延續了它們的利用。儘管這些元件被廣為利用,它們其實不符合規範、也不會有效用。特別是,不要去使用:</p>
+
+<ul>
+ <li><code>&lt;meta name="MSSmartTagsPreventParsing" content="true"&gt;</code> 這個只有在其中一個 beta 版的 Internet Explorer 6 是有用處的。這個 beta 版已經不再使用,而且這版本的特色聰明標籤(smart tags)已經被移除,也不會再被加回來。</li>
+ <li><code>&lt;meta name="robots" content="all"&gt; </code>雖然 <code>robot</code> 屬性是存在且確實合法的,但請不要去使用根本不存在的值,像是 <code>all</code>。 <code>robots</code> 預設的值為 <code>index, follow</code>,其實這就是你寫的 <code>all</code> 想要做的事。因此請直接移除整個 <code>&lt;meta&gt;</code> 標籤即可。</li>
+ <li><code>&lt;meta name="copyright" content="…"&gt; </code> 這個 meta 並不存在。移除它並創建一個版權頁面或 <code>div</code>,或是使用 <code>rel="copyright"</code> 的 {{HTMLElement("link")}} HTML 元素之連結。</li>
+ <li><code>&lt;meta name="rating" content="…"&gt; </code> 這個 meta 並不存在。只要移除整個 <code>&lt;meta&gt;</code> 即可。</li>
+</ul>
+
+<h2 id="HTML_腳本的註解">HTML 腳本的註解</h2>
+
+<p>曾經有一段時間有些瀏覽器了解 {{ HTMLElement("script") }} 標籤,但有些則否。這有時導致瀏覽器把應該作為腳本的文字,解讀成純文字。有個自然的想法,使得腳本成為 HTML 的註解。這方法,可以讓能執行腳本的瀏覽器做動、而不了解的瀏覽器忽略。</p>
+
+<p>從這時起,我們繼承了:</p>
+
+<pre>&lt;script&gt;
+&lt;!--
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "bla.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+//--&gt;
+&lt;/script&gt;
+</pre>
+
+<p>或是:</p>
+
+<pre>&lt;script type="text/javascript"&gt;
+&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
+Blabla.extend(MyFramework.settings, { "basePath": "/" });
+//--&gt;&lt;!]]&gt;
+&lt;/script&gt;
+</pre>
+
+<p>如今,這只會在 strict XML 驗證下,因為註解避開不帶引號標記的誤報,而有所幫助。除此之外,是完全無用的。甚至不執行腳本的瀏覽器,也只會忽略 {{ HTMLElement("script") }} 標籤。簡單起見,只要把你的腳本寫在 {{ HTMLElement("script") }} 的開頭與結尾之間就行。更理想的話,把你的腳本變成獨立的檔案,並透過 {{ htmlattrxref("src", "script") }} 屬性連結。如果你在寫腳本,考慮使用 HTML5 {{ htmlattrxref("async", "script") }} 與 {{ htmlattrxref("defer", "script") }} 屬性。</p>
+
+<h2 id="不應再使用的元素">不應再使用的元素</h2>
+
+<h3 id="font_basefont"><a href="/zh-TW/docs/Web/HTML/Element/font">font</a>, <a href="/zh-TW/docs/Web/HTML/Element/basefont">basefont</a></h3>
+
+<p>這些元素不應再使用。針對元素排版外觀,應當優先考慮 CSS,並藉由元素、ID、或 class 屬性控制目標。</p>
+
+<h3 id="b_i_u">b, i, u</h3>
+
+<p>這些往往比較有爭議,但是當有相應的話,盡量去使用個別的 {{ HTMLElement("strong") }}、{{ HTMLElement("em") }} 或是 {{ HTMLElement("span") }} 和 CSS (<code>text-decoration:underline</code>)。</p>
+
+<p>斟酌考慮使用哪個元素。有些以發展為導向的頁面,建議以簡單的 {{ HTMLElement("strong") }} 取代 {{ HTMLElement("b") }}、還有 {{ HTMLElement("em") }} 取代 {{ HTMLElement("i") }}。<strong>遵從這個建議不是好主意。</strong>{{ HTMLElement("strong") }} 是用作強調陳述,而 {{ HTMLElement("em") }} 只是加粗文字。例如,使用 {{ HTMLElement("em") }} 去簡單完成斜體不是好主意。非強調的斜體文字可以透過你頁面 CSS 的 <code>font-style:italic</code> 完成。類似的,書的標題和藝術作品傳統上都被轉成斜體,但針對這些東西使用 {{ HTMLElement("cite") }} 元素可以給出比 {{ HTMLElement("em") }} 或 {{ HTMLElement("i") }} 更語意的標記。</p>
+
+<h3 id="acronym"><a href="/zh-TW/docs/Web/HTML/Element/acronym">acronym</a></h3>
+
+<p>acronym 元素不應該再使用。要表示縮寫應當用 {{ HTMLElement("abbr") }}。</p>
+
+<h3 id="tt_xmp"><a href="/zh-TW/docs/Web/HTML/Element/tt">tt</a>, <a href="/zh-TW/docs/Web/HTML/Element/xmp">xmp</a></h3>
+
+<p>不要使用這些元素。要表現出電腦程式碼的片段,使用 {{ HTMLElement("code") }}。要表現出預格式化的文字,使用 {{ HTMLElement("pre") }}。如果只是想要 monospace 字型,在 CSS 使用 <code>font-family: monospace</code>。</p>
+
+<h3 id="applet"><a href="/zh-TW/docs/Web/HTML/Element/applet">applet</a></h3>
+
+<p>這個元素不應再使用。更通用的 {{ HTMLElement("object") }} 才是首選。</p>