2012-07-07 52 views
0

隨着'nav'標籤的出現,我正在重新審視導航欄的創建。有很多教程,但他們採取不同的方法,並用太多的CSS來解決問題。什麼是導航欄的最小css

具體來說,我有一個960寬度的內容區域,我想在這個中心導航按鈕。

  1. 'nav'元素是否有任何內在的css行爲,還是純粹是一個語義容器?
  2. 如果我是按鈕的中心,那麼當然我不需要'浮動'它們?文本對齊,中心爲ul應該做的伎倆。
  3. 如果我想要的按鈕比導航欄本身更短,我應該給酒吧一個高度(使用行高來設置按鈕的中心位置)或爲按鈕添加邊距以向外推動酒吧(垂直)?
+0

你爲什麼不嘗試... jsfiddle.net到我們這兒來着一些問題:對 – rlemon 2012-07-07 03:24:12

回答

1

這裏有幾個例子,一個小提琴:http://jsfiddle.net/joplomacedo/ejSby/

請問「導航」元素有任何固有的CSS-的行爲,或者是純粹的語義容器?

nav元素是純粹的語義容器。就css而言,它只不過是一個簡單的塊級元素,如div

如果我將按鈕居中,那麼我肯定不需要「浮動」它們?文本對齊,中心爲ul應該做的伎倆。

如果你使用ul,就像你所說的那樣,那麼你需要的也是li。問題是li有塊顯示(實際上,不是塊 - list-item。按照我們感興趣的方式,它們表現得像塊一樣) - 並且當你想把塊級元素並排放置時,那麼你他們總是需要float他們,或者將他們的顯示改爲inlineinline-block)。

可能是'浮動'或'內嵌塊'。我傾向於使用「內聯塊技術」的原因很多 - 其中之一就是,按照您的需要將塊集中在一起,只需將文本對齊設置爲以父元素爲中心即可。

如果我想要的按鈕比導航欄本身更短,我應該給酒吧一個高度(使用行高來使按鈕居中)或爲按鈕添加邊距以向外推動酒吧(垂直)?

似乎簡單padding-top & bottom添加到導航塊,不是嗎?

如此反覆,這裏的小提琴:http://jsfiddle.net/joplomacedo/ejSby/

+0

很好的答案,謝謝。 – 2012-07-07 09:00:29

+1

[Final fiddle](http://jsfiddle.net/andrewgsw/7RLs6/) – 2012-07-07 10:45:06