Home > Internet > 等宽导航栏
2009December . 26th

等宽导航栏

随着宽屏显示器的流行,越来越多的网站采用了动态宽度的设计,以求页面在宽屏显示器上保持美观(960px的网页在23寸的显示器上只有半个屏幕的宽度)。动态宽度的框架设计比较复杂,今天只说说和屏幕等宽的导航栏的设计。
等宽导航栏(我不知道这个名称合不合适,知道的朋友指点一下)的设计一般要遵守以下两个要素:
1.导航栏的背景和页面的最大宽度相等;
2.导航的内容的位置在页面主框架以内(导航的内容在主框架以外的话不好看,用户体验也不好)。
文字看不懂的话,可以看下面这幅草图。
等宽导航栏
先看看导航栏的HTML代码。

1
2
3
4
5
6
7
8
9
<div id="navigation">
	<ul>
		<li><a href="#">Home</a></li>
		<li><a href="#">Links</a></li>
		<li><a href="#">FAQs</a></li>
		<li><a href="#">Contact</a></li>
		<li><a href="#">Guestbook</a></li>
	</ul>
</div>

从这里看出结构和一般的导航栏是完全一样的,知道的朋友应该猜出了,真正起作用的是CSS。
CSS这样写。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#navigation {
	width: 100%; /*宽度为100%,以填充整个屏幕的宽度*/
	float: left; /*左浮动*/
	margin: 0 0 1px 0; /*设置margin的关键是左右的值都为零*/
	padding: 0;
	background-color: #F7F7F7;
}
#navigation ul {
	list-style: none; /*不显示列表项前面的黑点*/
	width: 800px; /*宽度必须和主框架的宽度相等*/
	margin: 0 auto; /*整个列表居中*/
	padding: 0;
}
#navigation li {
	float: left; /*使导航栏编程水平导航栏*/
}
#navigation li a {
	display: block; /*把导航栏里的链接设置为块元素*/
	padding: 8px 15px;
	text-decoration: none;
}

CSS的关键我已经加上了注释。

推荐到豆瓣
  1. 2009December . 26th - 9:21 AM

    学习啦。。。

  2. 2009December . 26th - 11:50 AM

    这玩意还真学不会啊

  3. 2009December . 26th - 1:34 PM

    目前用不上呢

  4. 2009December . 26th - 4:21 PM

    还真如楼上的说,有点看不懂啊,提钱祝博主元旦快乐了…

  5. 2009December . 26th - 5:11 PM

    一瞄而过,还以为你在说等宽的侧边栏,看完代码发现没提到侧边栏,又看一遍才算是明白了,原来是讲导航栏。。。

  6. 2009December . 26th - 5:19 PM

    我来看看!估计用不上!

  7. 2009December . 27th - 1:16 AM

    我是21寸的显示器,看很多网站都感觉小。

  8. 2009December . 27th - 5:28 AM

    @Dianso
    21寸眼睛都要看的累死…

  9. 2009December . 29th - 10:42 PM

    display: block;应该很重要,似乎没有这个,会篡行。

  10. 2009December . 29th - 11:01 PM

    @万戈
    侧边栏一般都是固定宽度的
    @Dianso
    我同学有太23寸,几乎所有网页都能双开看
    @LAONB
    这个属性意思是把元素定义为块元素,每个块元素在父容器里都是占一行的

  11. 2009December . 31st - 8:58 PM

    其实可以用background X轴repeat来实现这个滴~

  12. 2010January . 1st - 10:58 AM

    @Jutoy
    这样的话如果header的高度变了就要调整图片在Y轴的位置咯

  13. 2010January . 1st - 11:56 AM

    新年好!学习一下!

  14. 2010January . 12th - 2:10 PM

    @Jutoy
    这个是用图片的方法,但是纯CSS 就不能这样了。

    我也有关注这样的新设计,除了header外,content和footer 也要有相同的一个宽度,另外既然header 等宽了,footer 也等宽比较好。所以一般都是加一个wrapper 或者frame 的class 来定义内容的宽度,这样以后改宽度就比较简单了。

Subscriber selector

Close