简单的链接样式

对链接应用样式最容易的方式是:使用锚类型选择器,例如 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 对链接应用样式的更多相关文章

  1. 用CSS指定外部链接的样式

    大部分的信息类网站,比如维基百科,都会对外部链接(<a>标签)指定特定的样式.作为用户,一眼就知道该链接是指向另一个站点的资源是很好的体验.许多网站在服务器端做外部链接检查,添加一个`re ...

  2. 精通CSS高级Web标准解决方案(4、对链接应用样式)

    4.1 简单的链接样式 锚可以作为内部引用,也可以作为外部链接,应该区分对待. 伪类选择器: :link 用来寻找没有访问过的链接 :visited 用来寻找已经访问过的链接 a:link{color ...

  3. 笔记《精通css》第5章 链接应用样式

    第5章    链接应用样式 1.链接伪类选择器 a : link{    }   (寻找没有被访问过的链接) a : visied{    }(寻找被访问过的链接) 动态伪类选择器 a : hover ...

  4. CSS3——背景 文本 字体 链接 列表样式 表格

    背景 background-color rgb(255,0,0,1)      最后一个值表示透明度,范围是 0--1 background-image 默认平铺重复显示 background-rep ...

  5. <a>链接添加样式问题

    <a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ...

  6. CSS链接的样式a:link,a:visited,a:hover,a:active

    a :link(未被访问)a:hover(鼠标悬停)a:visited(访问过:真正到达那个页面)a:active(鼠标点击与释放之间.对无href属性的a对象无作用) 这几个元素,定义CSS时候的顺 ...

  7. HTML 学习笔记 CSS样式(链接)

    我们能够以不同的方法为链接设置样式. 设置链接的样式 能够设置链接样式的 CSS 属性有很多种(例如 color, font-family, background 等等).链接的特殊性在于能够根据它们 ...

  8. HTML(三)链接,<head>,css样式

    HTML链接 HTML 超链接 一个未访问过的链接显示为蓝色字体并带有下划线 访问过的链接显示为紫色并带有下划线 点击链接时,链接显示为红色并带有下划线 注意:如果为这些超链接设置了 CSS 样式,展 ...

  9. CSS/CSS3常用样式小结

    1.强制文本单行显示: white-space:nowrap; 多行文本最后省略号: display: -webkit-box; -webkit-line-clamp:2; overflow: hid ...

随机推荐

  1. iOS开发之通过Framework建立项目依赖

    https://www.jianshu.com/p/d146db167bf3 项目开发时经常会遇到个别模块想打包成framework的情况,传统的打包方式太繁琐,反复测试时很麻烦,不如一个项目管理来得 ...

  2. Mysql常用的sql语句

    替换某字段的字符串: UPDATE article SET content = replace(content, '解决', '解放') WHERE ID<5000; 清空数据库,id也置空: ...

  3. POJ-1087 A Plug for UNIX (网络流)

    思路 电器数1 ~ 100,附带100种接口,注意题目:You notice that some of the devices use plugs for which there is no rece ...

  4. R - Fence Repair POJ - 3253

    Farmer John wants to repair a small length of the fence around the pasture. He measures the fence an ...

  5. 使用命令将单个java文件打包为jar

    思路:先将java文件编译为class文件,然后再打包为jar 参考博文:https://www.cnblogs.com/sxdcgaq8080/p/8126770.html http://www.m ...

  6. vscode vue js 开发插件配置

    安装 vetur { // 自动补全触发范围---双引号内的字符串也可以触发补全 "editor.quickSuggestions": { "other": t ...

  7. IO课堂测试

    一,用户需求 英语的26 个字母的频率在一本小说中是如何分布的?某类型文章中常出现的单词是什么?某作家最常用的词汇是什么?<哈利波特与魔法石> 中最常用的短语是什么,等等. (1)要求1: ...

  8. yp寒假训练一

    19年东北四省省赛 做了J G C 补了E H J签到题 G 题意: 给n个正方形的两个斜对角点坐标,问最小的移动可以重叠(移动上下左右一格) 思路: 一开始想的是中心pos移动,但是可能有小数,而且 ...

  9. idea使用小技巧

    1.按住alt,鼠标往下拉一条直线,可以选中一列或多列,或者不选中任何文字,可以让光标定位到这几行的相同的列的位置,然后输入文本,发现在被选中的所有行同时输入了这些文本(类似notepad++): 2 ...

  10. HD Tune检查硬盘各参数的含义

    01 =Read Error Rate / (底层)数据读取错误率指从磁盘表面读取数据时发生的硬件读取错误的比率,Raw值对于不同的厂商有着不同的体系,单纯看做1个十进制数字是没有任何意义的.以上为W ...