在我們平時所寫的ASP.NET中,我們更多的是去使用服務器端控件:<asp:>。與此同 時,我們卻忽略了很多HTML元素的使用。
在這章,讓我們來簡單的對HTML的一些元素的標准來做簡單的回顧。
1. <q> 和 <blockquote>
對於這兩個元素,我想很多經常去使用.NET服務器端控件,以及Visual Studio或者DW等 可視化工具的人,應該對他們已經忘記的差不多了。在這裡,我們來做個簡單的復習。
首先我們回憶兩個概念,在HTML中的內聯元素和塊元素。在這裡我說下我的理解:
塊元素常用的作用是用來其他的元素,他最典型的標志就是把自己所包圍的元素內容與其 他的塊元素分開。
而內聯元素是基於語義的元素,也就是說,內聯元素常作用於段內,來對某一句話,或者 某一塊的元素來做一個語義上的特殊標記。
好,概念弄清了。我們就來看<q>和<blockquote>,他們都表示引用。區別 呢:用上面的概念去解釋:<q>是一個內聯元素,而<blockquote>是一個塊元素 。
舉個很簡單的例子:
先看個使用<blockquote>的例子:
李白曾經寫過這樣一首詩: <blockquote>
床前明月光,
疑是地上霜。
舉頭望明月,
低頭思故鄉。
</blockquote>
然後看下<q>的使用:
孔子曾曰:<q>三人行,必有我師焉</q>
通過這兩個例子,我們可以看出了兩者的區別,也就是說,<blockquote>常用於是 長段,整段的引用。而<q>更常用於的是小引用。
2. 關於列表
關於列表,你還能說出幾種呢?
不要告訴我<asp:BulletedList>,我說的是HTML元素。
也許你會告訴我<ul>,<ol>。只有這兩種麼?NoNoNoNo!
在HTML元素中,關於列表,其實一共有三種:ul(unordered list),ol(orderedlist),dl (definition list)。
這個很簡單,隨便寫兩行代碼就過了:
請選出你最喜歡的數字: <ol>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ol>
我喜歡的人有: <ul>
<li>爸爸</li>
<li>媽媽</li>
<li>爺爺</li>
<li>奶奶</li>
</ul>
下面是一些定義:
<dl>
<dt>人</dt>
<dd>人是一種高級動物</dd>
<dt>動物</dt>
<dd>動物是一種低級的人</dd>
</dl>
其實對上面的這些元素,我們完全可以去取代他們,用其他的形式來將他們表示出來。但 是建議,用與你所表達的最接近的HTML元素去表達你的含義!
3. 關於<em>
若干年後的今天,你還記得這個非主流元素麼?
讓我們前往w3cschool去看看:
<em>:所強調的文字。
在這裡,我不想去談這個元素的用法。只是用 這個來引出話題。
關於你代碼的浏覽器適應問題。
我們知道,雖然W3C一致去 致力於浏覽器的標准,但是至今仍然是效果不大。IE,Firefox等等浏覽器都有著自己的標准 和表現形式。
那麼,我們怎麼樣去讓自己的代碼更適應每個浏覽器的標准呢?
用<em>來說:強調。我沒有做過測試,因為我的電腦上只裝了IE浏覽器。我在 這裡只是做個比方。很有可能出現這樣一種情況。IE中表達強調的方式是把字體加粗,而 Firefox表達強調的方式是把字體傾斜。我個人的意見是,讓浏覽器自己去解析我們的表達意 願,而不是讓我們去強行給浏覽器加入表達形式。
原因呢?我在這裡插點題外話。在 面試的時候,經常會碰到一些莫名其妙的問題,比如兩個我認為基本差不多的東西,面試官 會問我:讓你選擇的話,你會用哪個呢?我常常給出的答案都是我認為兩者是差不多的,但 是如果一定讓我做出個選擇,我選擇A,因為A是他們自己廠商所推出支持的,我想一個公司 肯定會對自己所推出的概念做出最大的支持和最大程度的優化。
當然,我的回答其實 是廢話,也有投機取巧之嫌,但是我認為,讓一個產品去按照他自己的標准辦事總是最好的 。就像古代的無為之治,才是最好的治理國家的方式!
另外,老趙說:語義和樣式要 分開寫。這點提醒了我,另外一個這樣去做的原因,就是可維護性。你的後續程序員或者當 你的網站需要更改樣式時,使用更匹配的標簽可以讓你的代碼靈活性更高!
我現 在所能想起來的,關於HTML的一些細節和標准問題,只有這些了。
這裡都是一些很基 礎的問題,我之所以放在首頁,是希望提醒一直活在高層的大家,別忘了這些基本的概念和 知識。
然後,在最後,我希望大家能幫忙想一些關於HTML細節和標准方面的問題。讓 我們共同去回憶這些我們快淡忘了的非主流標簽。