随着“导航”标签的出现,我正在重新审视导航栏的创建。有很多教程,但他们采用不同的方法,并且用太多的 css 解决了这个问题。
具体来说,我有一个 960 宽的内容区域,我想将导航按钮居中。
- 'nav' 元素是否有任何固有的 css 行为,或者它纯粹是一个语义容器?
- 如果我将按钮居中,那么我肯定不需要“浮动”它们吗?文本对齐,ul 的中心应该可以解决问题。
- 如果我希望按钮比导航栏本身短,我应该给栏一个高度(使用按钮的行高使它们居中)还是为按钮添加边距以向外(垂直)推动栏?
随着“导航”标签的出现,我正在重新审视导航栏的创建。有很多教程,但他们采用不同的方法,并且用太多的 css 解决了这个问题。
具体来说,我有一个 960 宽的内容区域,我想将导航按钮居中。
这里有几个例子:http: //jsfiddle.net/joplomacedo/ejSby/
'nav' 元素是否有任何固有的 css 行为,或者它纯粹是一个语义容器?
nav
元素是一个纯粹的语义容器。就 css 而言,它的行为只不过是一个简单的块级元素,如div
.
如果我将按钮居中,那么我肯定不需要“浮动”它们吗?文本对齐,ul 的中心应该可以解决问题。
如果您正在使用ul
,就像您说的那样,那么您也将需要li
'。问题是li
' 显示块(实际上,不是块 - list-item
。在我们感兴趣的方式中,它们的行为类似于块) - 当你想并排放置块级元素时,你会总是需要float
它们,或者将它们的显示更改为inline
( inline-block
)。
“浮动”或“内联阻塞”。出于多种原因,我倾向于使用“inline-block 技术”——其中之一是,如您所愿,将块居中只是将 text-align 设置为在父元素上居中的问题。
如果我希望按钮比导航栏本身短,我应该给栏一个高度(使用按钮的行高使它们居中)还是为按钮添加边距以向外(垂直)推动栏?
padding-top
将&添加到导航块似乎更简单bottom
,不是吗?
再说一次,这是小提琴:http: //jsfiddle.net/joplomacedo/ejSby/