1.链接状态:大部分浏览器支持4中基本的链接状态:未访问的链接、已访问的链接、访问者的鼠标正悬停在上方的链接、正被单击的链接。这些状态的4个对应伪类选择器分别是:link、:visited、:hover、:active。

为了实现最大程度的设计控制,必须对所有不同的访问状态都定义样式,但是必须按照指定顺序:

a : link{color : #F60; }

a : visited{color : #900; }

a : hover{color : #F33; }

a : active{color : #B2F511; }

如果改变上述顺序,hover和active将不起作用。因为样式具有相同权重,但是出现的顺序决定了哪种样式胜出,如果改变了顺序,那么hover可能永远不会被访问。

2.给链接定义样式:

(1)给链接添加下划线:

①完全取消下划线:要取消普通的下划线可以使用text-decoration属性,并将它的值设为none:a {text-decoration:none;}

②在鼠标经过时添加下划线:首先取消链接的下划线然后使用伪类重新引入:

a {

text-decoration:none;

background-color:#f00;

}

a:hover{

background-color:transparent;

text-decoration:underline;

}

③使用底部边框线:隐藏普通的下划线然后添加一条边框:

a{

text-decoration:none;

border-bottom:dashed 2px #9f3;

}

④使用背景图片:取消普通的下划线并添加背景

a{    text-decoration:none;

background:url(images/underline.gif) repeat-x left bottom;

padding-bottom:5px;

}

3.创建导航栏:

(1)使用无序列表:导航栏实际上就是一连串的链接,可以使用<ul>标签创建:

<ul>

<li><a href=“index.html”>Home</a></li>

<li><a href=“news.html”>News</a></li>

</ul>

这样写出的导航只是一连串的链接而已不够美观,我们需要做一些调整:

①取消项目符号:将list-style-position属性值设置为none就可以取消项目符号。

②消除padding和margin:由于浏览器会从左侧缩进列表项目,所以要去除增加的这部分空间。

(2)垂直导航栏:垂直导航栏其实就是一连串的链接互相叠在一起。

①吧链接当成块显示:标签<a>是一个行内元素,因此它和它的内部的内容一样宽。要避免这种情况就要将链接定义为块元素:

ul.nav a{

display:block;

}

②限制按钮的宽度:可以通过设置width的值来限制宽度。

(3)水平导航栏:创建水平导航栏有两种办法:

①利用display:inline-block属性。

②使用浮动列表项目。定义float属性值让列表浮动。

4.CSS的预载替换法:JS中有一种被称作预加载的方法,能在需要之前自动下载好替换的图片因此可以避免延迟问题。但是CSS没有这种选择因此需要采用CSS精灵策略。它使用一张图片就可以创建同一个按钮的不同状态。

实施步骤如下:

(1)在你最喜欢的图像编辑软件中创建一张带有不同按钮版本的图片。可以把这些图片一张张地叠起来,让普通的链接图片放在最上面,替换图片放在最下面。

(2)测量从整张图片的顶部到每张图片顶部之间的距离。

(3)给普通的链接创建一个CSS样式。例如,将图片放进背景并把它放在样式的左上方,这个样式看起来像这样:

a { background:#E7E7E7 url(images/pixy.png)no-repeat  left  top;}

(4)创建:hover样式。

利用background-position属性使图片的方向转成朝上,因此第一张图片消失,替换图片变成可见。a:hover { background-position:0  -39px;}

除了防止讨厌的下载延迟之外,这种方法也有助于帮助你将导航图片放在一个单独的文件里面。

5.给特殊的链接类型定义样式:

(1)指向网站外部的链接:<a href=“http://…….”></a>。外部链接的路径必须是绝对URL。

(2)链接到电子邮箱:所有的邮箱链接都是以mailto:开头。<a href=‘mailto:’}

(3)链接到特殊类型的文件:例如指向一个PDF文件代码为:<a href=“annual_report.pdf”>

CSS3秘笈:第九章的更多相关文章

  1. CSS3秘笈复习:第九章&第十章

    第九章 1.和链接有关的伪类: (1):link,未访问过的链接 (2):visited,已访问过的链接 (3):hover,鼠标悬停链接 (4):active,单击链接时 这四种方式一定要严格按上面 ...

  2. CSS3秘笈第三版涵盖HTML5学习笔记1~5章

    第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...

  3. CSS3秘笈第三版涵盖HTML5学习笔记13~17章

    第13章,构建基于浮动的布局 使用的是float(浮动)属性 注:float:none值将取消所有浮动,通常只用来取消元素中已经应用的浮动. 切记:不需要给正文的div设计宽度,即使设计成固定宽度也不 ...

  4. CSS3秘笈第三版涵盖HTML5学习笔记9~12章

    第9章,装饰网站导航 限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了.其中包括对已访问过的链接定义color.background-color.borde ...

  5. CSS3秘笈第三版涵盖HTML5学习笔记6~8章

    第二部分----CSS实用技术 第6章,文本格式化 指定备用字体: font-family:Arial,Helvetica,sans-serif; 当访问者没有安装第一种字体时,浏览器会在列表中继续往 ...

  6. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  7. CSS3秘笈复习:第六章

    第六章 1.文本大写化: text-transform:uppercase; 另外三种选项是:lowercase或capitalize以及none. 2.文本修饰: text-decoration:u ...

  8. CSS3秘笈复习:第一章&第二章&第三章

    第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...

  9. CSS3秘笈:第十二章&第十三章

    第十二章 1.网页布局类型 (1)固定宽度 (2)流式 (3)响应式Web设计 2.CSS布局的方法 通过给元素设置一个宽度,将它浮到左侧或右侧,就可以创建一个列(元素后面的文本会环绕浮动的元素,仿佛 ...

随机推荐

  1. fidder https以及Fiddler抓取HTTPS协议

    一.浅谈HTTPS 我们都知道HTTP并非是安全传输,在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的.目前越来越多的企业选择使用HTTPS协议与用户进行通信,如百度.谷歌等. ...

  2. 去掉word冗余格式 java正则表达式

    word转换html时,会留下很多格式,有些格式并不是我们所需要的,然而这些格式比真正的文章内容还要多,严重影响页面的加载速度,因此就需要找个一个好的解决方案把这些多余的格式个去掉.网上有很多去除wo ...

  3. HTTP状态码含义

    本文内容是在有道云笔记中找到的,已不知复制自何处,抱歉 一些常见的状态代码为:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器暂时不可用   1xx(临时响应) 用于表 ...

  4. spring No adapter for handler 错误

    为了实现controller对JSON数据的自动解析,在spring-mvc.xml文件中增加了 <bean class="org.springframework.web.servle ...

  5. jQuery(4)—— jQuery中的事件

    jQuery中的事件 [加载DOM] 在常规的JavaScript代码中,通常使用window.onload方法,在jQuery中,使用的是$(document).ready()方法.极大地提高了we ...

  6. vsphere安装虚拟机

    新建虚拟机完成后,启动虚拟机,打开启动虚拟机控制台,选择CD/DVD驱动器 选择iso镜像,可以是本地或存储中心的iso,选择后点击虚拟机--客户机--发送Ctrl+Alt+Del,接下来就是正常的操 ...

  7. 关于设置CFileDialog的默认路径

    CFileDialog   d_File(FRUE, NULL,NULL,NULL,szFilter,FromHandle(m_hWnd)); // 如果写了下面这句那么每次打开都是这个设置的默认路径 ...

  8. java复习-多线程

    和线程之间的关系: 进程:进程是程序的一次动态执行过程,他经理了代码加载,执行到执行完毕的一个完整过程,这个过程也是进程本身从产生,发展到最终消亡的过程. 线程:线程是实现并发机制的一种有效手段,进程 ...

  9. apache 安装[转]

    Apache简介         Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广 ...

  10. 安卓.点击头像-->编辑个人姓名-->提交后.同时调用js关闭页面-->返回上一层

    $(document).ready(function() { $('#selfbtn').click(function(){ var u = navigator.userAgent; if (u.in ...