ch5 对链接应用样式
简单的链接样式
对链接应用样式最容易的方式是:使用锚类型选择器,例如 a {color:red;}
- 链接伪类选择器:
1、:link:寻找没有被访问过的链接
2、:visited:寻找被访问过的链接 - 动态伪类选择器:
1、:hover:寻找鼠标悬停处的元素
2、:active:寻找被激活的元素,激活发生在链接被单击时
3、:focus:寻找获得焦点的元素
以上三种不限于链接,也可应用于其他元素,例如按钮、输入框等
选择器的次序非常重要,如果反过来,鼠标悬停和激活样式将不起作用,为确保这种情况不会发生,最好按照以下次序应用链接样式:
a:link, a:visited, a:hover, a:focus, a:active
为链接目标设置样式
除了可以连接到特定的文档之外,还可以使用片段标识符的链接链接到页面的指定部分,实现方法:在href的末尾加上#要链接元素的id,使用:target伪类为目标元素设置样式。
<div class="comment" id="comment1">
<h2>Comment #1</h2>
<p>Lorem ipsum dolor sit amet</p>
<p><a href="#comment2">comment2</a></p>
</div>
<div class="comment" id="comment2">
<h2>Comment #2</h2>
<p>Nulla facilisi. </p>
<p><a href="#comment3">comment3</a></p>
</div>
<div class="comment" id="comment3">
<h2>Comment #3</h2>
<p>Praesent odio lacus.</p>
<p><a href="#comment1">comment1</a></p>
</div> <style>
.comment {
background-color: #ddd;
border: 1px solid #ccc;
width: 50em;
padding: 1em;
margin: 2em 0;
background-image: none;
}
/* 关键技术 */
.comment:target {
background-color: yellow;
</style>
上述代码实现的结果如下,点击Comment #1下面的comment2链接时,它的目标元素Comment#2的背景色变为黄色:

突出显示不同类型的链接
一般的链接很难看出是指向本站点的另一个页面还是纸箱另一个站点,所以需要让外部链接看起来不一样,使用[att^=val]属性选择器寻找外部链接,如下:
<p><a href="http://www.google.com/">This is an external link</a></p>
<p>And here is a reasonably long line of text containing an <a href="http://www.andybudd.com/index.php">absolute internal link</a>,
some text, an <a href="http://www.yahoo.com/">an external link</a>,
some more text, a <a href="css-button.htm">relative internal link</a> and then some more text.</p>
<p>Contact me by <a href="mailto:info@andybudd.com">email</a><br />
Send me an <a href="aim:goim?screenname=andybudd">instant message</a> using AIM/iChat.</p>
</p>
<style>
a[href^="http:"] {
background: url(img/externalLink.gif) no-repeat right top;
padding-right: 10px;
}
/*上述会突出显示所有外部链接,但是也会选中使用绝对URL而不是相对URL的内部链接,所以需要重新设置指向自己站点的所有链接,
删除它们的外部链接图标*/
a[href^="http://www.andybudd.com"], a[href^="http://andybudd.com"] {
background-image: none;
padding-right: 0;
}
/*邮件链接图标*/
a[href^="mailto:"] {
background: url(img/email.png) no-repeat right top;
padding-right: 15px;
}
/*AIM即时消息协议*/
a[href^="aim:"] {
background: url(img/im.png) no-repeat right top;
padding-right: 15px;
}
</style>
突出显示可下载的文档和提要:使用[att$=val]属性选择器
/*以下代码可以告诉访问者它们是下载链接而不是另一个页面的链接*/
a[href$=".pdf"]{
background: url(img/pdfLink.gif) no-repeat right top;
padding-right: 15px;
}
a[href$=".doc"]{
background: url(img/wordLink.gif) no-repeat right top;
padding-right: 15px;
}
ch5 对链接应用样式的更多相关文章
- 用CSS指定外部链接的样式
大部分的信息类网站,比如维基百科,都会对外部链接(<a>标签)指定特定的样式.作为用户,一眼就知道该链接是指向另一个站点的资源是很好的体验.许多网站在服务器端做外部链接检查,添加一个`re ...
- 精通CSS高级Web标准解决方案(4、对链接应用样式)
4.1 简单的链接样式 锚可以作为内部引用,也可以作为外部链接,应该区分对待. 伪类选择器: :link 用来寻找没有访问过的链接 :visited 用来寻找已经访问过的链接 a:link{color ...
- 笔记《精通css》第5章 链接应用样式
第5章 链接应用样式 1.链接伪类选择器 a : link{ } (寻找没有被访问过的链接) a : visied{ }(寻找被访问过的链接) 动态伪类选择器 a : hover ...
- CSS3——背景 文本 字体 链接 列表样式 表格
背景 background-color rgb(255,0,0,1) 最后一个值表示透明度,范围是 0--1 background-image 默认平铺重复显示 background-rep ...
- <a>链接添加样式问题
<a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ...
- CSS链接的样式a:link,a:visited,a:hover,a:active
a :link(未被访问)a:hover(鼠标悬停)a:visited(访问过:真正到达那个页面)a:active(鼠标点击与释放之间.对无href属性的a对象无作用) 这几个元素,定义CSS时候的顺 ...
- HTML 学习笔记 CSS样式(链接)
我们能够以不同的方法为链接设置样式. 设置链接的样式 能够设置链接样式的 CSS 属性有很多种(例如 color, font-family, background 等等).链接的特殊性在于能够根据它们 ...
- HTML(三)链接,<head>,css样式
HTML链接 HTML 超链接 一个未访问过的链接显示为蓝色字体并带有下划线 访问过的链接显示为紫色并带有下划线 点击链接时,链接显示为红色并带有下划线 注意:如果为这些超链接设置了 CSS 样式,展 ...
- CSS/CSS3常用样式小结
1.强制文本单行显示: white-space:nowrap; 多行文本最后省略号: display: -webkit-box; -webkit-line-clamp:2; overflow: hid ...
随机推荐
- Spring Boot RestApi 测试教程 Mock 的使用
测试 Spring Boot Web 的时候,我们需要用到 MockMvc,即系统伪造一个 mvc 环境.本章主要编写一个基于 RESTful API 正删改查操作的测试用例.本章最终测试用例运行结果 ...
- Docker for YApi--一键部署YApi
获取YApi镜像$ docker pull mrjin/yapi:latest 注意:本仓库目前只支持安装,暂不支持升级,请知晓.如需升级请备份mongoDB内的数据. docker-compose ...
- 深入学习二叉树(07)B树
问题背景 在大型的数据库存储中,实现索引查找,如果采用二叉查找树的查找的话,由于节点的存储数据是有限的,这样如果数据库很大的话,就会导致树的深度过大从而造成磁盘 IO 操作过于频繁,就会造成效率低下 ...
- java代码开启关闭线程(nginx)
源码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; pub ...
- HD Tune检查硬盘各参数的含义
01 =Read Error Rate / (底层)数据读取错误率指从磁盘表面读取数据时发生的硬件读取错误的比率,Raw值对于不同的厂商有着不同的体系,单纯看做1个十进制数字是没有任何意义的.以上为W ...
- C++11常用特性介绍——decltype关键字
一.decltype的意义 有时我们只想从表达式的类型推断出要定义的变量类型,但是不想用其值进行初始化的时候,C++11新标准引入了decltype类型说明符,它的作用是选择并返回操作数的数据类型,在 ...
- Java27个基数点
1.JAVA中的几种基本数据类型是什么,各自占用多少字节. 2.String类能被继承吗,为什么 不能.在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的. ...
- 转载--centos7.4安装docker
参考博文:https://www.cnblogs.com/yufeng218/p/8370670.html 作者:风止雨歇 Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企 ...
- HTML中的ul标签
UL格式: <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> < ...
- DVWA靶机-sql自动注入
1. 使用dvwa靶机进行sql注入实战(注:当前靶机安全级别为low) 打开sql漏洞,发现输入不同的数字会返回不同的信息, 先尝试手工判断是否存在sql注入 一般sql注入语句像这样,我们构造的是 ...