制作容易的站点导航栏是CSS真正展现自己特有能力的一个领域。制作导航条的老方法倾向于依赖大量的图片、嵌套表格和Javascript脚本 – 所有这些都会严重影响站点的可用性和无障碍性。如果你的站点不能在一个不支持Javascript的设备上被导航,那么你不仅阻止了关闭Javascript的用户,同时你也阻止了只支持文本的设备,比如屏幕阅读器已经搜索引擎的机器人程序 – 它们将永远无法从你的首页得到网站内容的索引。就算你的客户不在乎无障碍性,告诉他们笨重的菜单阻止他们得到一个体面的搜索引擎排名!
CSS允许你创造具有吸引力的导航栏,采用CSS的优势在于不仅仅它在外观上非常美观,实际上它还是文本 – 是一种采用特殊方法标注的文本,它能够让所有那些物理上没法看到你的设计但是又想得到你的内容的人或者设备无障碍和容易理解地访问你的站点。在本文中,我们将看看各种各样建立基于CSS的导航栏解决方案。其中有一些适合在已有站点实施,以便使这些站点引导更迅速,并且通过替换古板的、基于图片的导航栏来促进它的无障碍性。另外一些更适合集成于纯粹的CSS站点布局中。
对于新设计的网站,你可能会尝试避免使用表格来做布局,或者只是在绝对必要的地方才使用表格。因此,一个不涉及到表格的导航栏解决方案是有用的,同时,通过杜绝表格元素的使用,你会发现你的页面将包含更少的标记符号。
导航栏系统是用户在这个站点能够访问的地点的列表。因此,一个无序的列表是标记你的导航栏的理想方式。象你看到的,在图1中的导航栏的实现是采用CSS样式化的一个列表。
图1:样式化列表的导航栏"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
content="text/html; charset=utf-8" />
#navigasi {
lebar: 200px;
}
#navigasi ul {
gaya senarai: tiada;
margin: 0;
lapik: 0;
}
#navigasi {
bahagian bawah sempadan: 1px pepejal #ED9F9F;
}
#navigation li a:link, #navigation li a:dilawati {
saiz fon: 90%;
paparan: blok;
lapik: 0.4em 0 0.4em 0.5em;
sempadan-kiri: 12px pepejal #711515;
sempadan-kanan: 1px pepejal #711515;
warna latar belakang: #B51032;
warna: #FFFFFF;
hiasan teks: tiada;
}
Untuk membuat bar navigasi berdasarkan senarai tidak tersusun, buat senarai anda dahulu dan letakkan setiap pautan navigasi ke dalam elemen li, seperti ini:
Seterusnya, pilih ID yang sesuai untuk memasukkan senarai dalam div:
Seperti yang anda lihat dalam Rajah 2 di bawah, penanda ini kelihatan agak biasa dalam gaya lalai penyemak imbas.
Rajah 2: Senarai asas tanpa penggayaan
Perkara pertama yang perlu kita lakukan ialah menggayakan bekas di mana bar navigasi wujud – dalam kes ini #navigation :
#navigasi {
lebar: 200px;
}
Di sini saya hanya memberikan #navigasi lebar. Jika sistem navigasi ini adalah sebahagian daripada reka letak halaman CSS, saya juga mungkin menambahkan beberapa maklumat lokasi pada ID ini.
Di bawah, kami menggayakan senarai:
#navigasi ul {
gaya senarai: tiada;
margin: 0;
lapik: 0;
}
Seperti yang ditunjukkan dalam Rajah 3, peraturan di atas mengalih keluar awalan dan lekukan yang muncul secara lalai apabila penyemak imbas memaparkan senarai.
Rajah 3 Senarai mengalih keluar inden dan awalan
Langkah seterusnya ialah menggayakan elemen li menggunakan #navigasi, memberikan mereka kelebihan bawah:
#navigasi {
bahagian bawah sempadan: 1px pepejal #ED9F9F;
}
Akhir sekali, kami menggayakan pautan:
#navigation li a:link, #navigation li a:dilawati {
saiz fon: 90%;
paparan: blok;
lapik: 0.4em 0 0.4em 0.5em;
sempadan-kiri: 12px pepejal #711515;
sempadan-kanan: 1px pepejal #711515;
warna latar belakang: #B51032;
warna: #FFFFFF;
hiasan teks: tiada;
}
Pada ketika ini kebanyakan kerja telah dilakukan. Peraturan CSS yang kami tetapkan termasuk menambahkan jidar kiri dan kanan, mengalih keluar garis bawah, dsb. Takrif atribut pertama dalam peraturan ini menetapkan atribut paparan kepada sekat, yang menyebabkan pautan tersebut dipaparkan sebagai elemen blok, supaya apabila kursor anda melepasi "butang" navigasi ini, kesan paparan dan menggunakan Imej navigasi adalah sama.