2012-07-07 53 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