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 ...
随机推荐
- 第三方控件引起的"类型Universe无法解析程序集"的血案
前一阵子在项目中添加了IrisSkin2皮肤控件,今天用VS打开悲剧了. 提示"类型Universe无法解析程序集:System.Design,Version=2.0.0.0,Culture ...
- .NET中的字符串(2):你真的了解.NET中的String吗?
概述 String在任何语言中,都有它的特殊性,在.NET中也是如此.它属于基本数据类型,也是基本数据类型中唯一的引用类型.字符串可以声明为常量,但是它却放在了堆中.希望通过本文能够使大家对.NET中 ...
- 【知识学习】Sublime Text 快捷键精华版
Sublime Text 快捷键精华版 Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关 ...
- flask_migrate
flask_migrate 1. flask_migrate doc: https://flask-migrate.readthedocs.io/en/latest/ 1.1. 简介 ...
- vue cavnas绘制矩形,并解决由clearRec带来的闪屏问题
起因:在cavnas绘制矩形时 鼠标移动一直在监测中,所以鼠标移动的轨迹会留下一个个的矩形框, 要想清除矩形框官方给出了ctx.clearRect() 但是这样是把整个画布给清空了,因此需要不断 向画 ...
- CSS背景图片设置
*{ margin:0px; padding:0px; list-style: none; text-decoration: none; font-family: Arial,'Microsoft Y ...
- 牛客网Sql
牛客网Sql: 1.查询最晚入职的员工信息 select * from employees where hire_date =(select max(hire_date) from employee ...
- springboot+mybatis多数据源
首先,既然是多数据源,那么我们就先看下数据源怎么配置的: javaconfig类似下面这样: MapperScan注解常用配置如下: basePackages:Base packages to sca ...
- python 基础之集合
集合 s=set('chen xi') s1=['cx','ee','cx'] s2=set(s1)#set为集合 print(s2,type(s2)) s=list(s2) print(s,type ...
- Re库的基本使用
# Re库的主要功能函数 """ re.search() 在一个字符串中搜索匹配正则表达式的第一个位置, 返回match对象 re.match() 在一个字符串的开始位置 ...