无懈可击的web设计学习笔记(三)

本文主要讲的内容为:可伸缩的导航栏,让网站导航栏能够适应任意大小的文字或者任何数量的内容。

html

就导航栏而言,应该使用列表,即包含一组链接的列表。但是我们也将使用html5中新增的语义化的nav元素来包装列表:

<nav role="navigation">
    <ul>
        <li id="1"><a href="/">1</a></li>
        <li id="2"><a href="/">2</a></li>
        <li id="3"><a href="/">3</a></li>
        <li id="4"><a href="/">4</a></li>
    </ul>
</nav>

注意我们还在nav元素中使用了role特性,以便在导航中注入一个WAI-ARIA路标角色。路标角色使得辅助软件能够提供一致的导航体验。换句话说,通过添加额外的语义,角色可以使导航方便许多。

css

导航栏一般都是横向排列的,所以应通过相应的css去改变它的样式。

nav[role="navigation"] ul{
    float:left;
    width:720px;
    margin:0;
    padding:10px 0 0 46px;
    list-style:none;
    background:#FFCB2D;
}
nav[role="navigation"] ul li{
    float:left;
    margin:0 1px 0 0;
    padding:0;
    font-family:"Lucida Grande",sans-serif;
    font-size:80%;
}

因为浮动的li是通过文档流布局自然生成的,所以要想撑开外围那个定义了背景色的ul,就必须设置ul的css属性为浮动,而且还要为ul设定一个特定的宽度。

添加链接的css:

nav[role="navigation'] ul li a{
    float:left;
    display:block;
    margin:0;
    padding:4px 8px;
    color:#333;
    text-decoration:none;
    border:1px solid #9B8748;
    border-bottom:none;
    background:#F9E9A9;
}

通过将display:block;规则应用于a元素,和给a设置内边距,使整个选项卡的整个区域都可以被点击。块级对象总是独占一整行,所以我们必须使用float属性使它们处于同一行。

引入背景渐变图片:

background:#F9E9A9 url(img/off_bg.gif) repeat-x top left;

也可以通过css渐变来实现:

创建渐变的语法容易让人感到困惑。作者强烈建议使用一个基于web的“所见即所得”工具来自动完成正确的语法,因为仅靠记忆键入它们几乎是不可能的。

ColorZilla的Ultimate CSS Gradient Generator(www.colorzilla.com/gradient-editor)是一个极为出色的工具,可以建立需要的渐变,并自动生成每种浏览器(包括IE9和更低版本)所需的全部css。它会给每条规则加上注释,指出该规则适合哪种浏览器/操作系统。

通过em来实现css

nav[role="navigation"] ul{
    float:left;
    width:50em;
    margin:0;
    padding:1em 0 0 5em;
    list-style:none;
    background:#666;
}
nav[role="navigation'] ul li a{
    float:left;
    display:block;
    margin:0;
    padding:.5em 1em;
    color:#333;
    text-decoration:none;
    background:#CCC;
}

请注意padding:.5em 1em;这句代码,它的意思是:“将超链接的上下内边距设置为0.5em,将左右内边距设置为1em”。现在调整字体的大小,将会看到选项卡中的文本以及文本周围的空隙会成比例地放大或者缩小,感觉非常不错。在上一个方法中,无论怎样调整字体大小,文本周围的窗纱总是存在固定数量的像素,而使用了em后,整个导航栏实现了真正的等比例缩放

其他灵活的方法

  • 使用两幅背景图片,当其中的内容增加时,图片也相应的分离。通过使用两幅独立的图片,圆角和其他非矩形的成分都能够沿选项卡和其他容器边界对齐——与此同时,仍然能够保持灵活性和适应性。
  • 通过设置一个大于原来尺寸的背景图,随着内容的增加或者字号的增加仍然能够很好的显示出来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,743评论 1 92
  • 第一部分HTML&CSS整理答案1.什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HTML5...
    Programmer客栈阅读 2,001评论 0 12
  • 笔记参考自《响应式Web设计:HTML5和CSS3实践》,2013年出版内容说不上最新。如下是全书的章的目录:第 ...
    于晓鱼阅读 922评论 0 1
  • 因为有机会参与一个项目的早期设计,因此搭建的时候不可避免的遇到了如何满足响应式的问题。翻阅了《响应式Web设计:H...
    tangyefei阅读 6,393评论 2 90
  • 今天是西方的感恩节,一直觉得感恩之心,是治愈一切的良药。无论此时的你,无论痛苦与悲伤,寂寞与孤单,富有或贫穷,...
    菩树阅读 268评论 0 1