浅谈伪类-以<a>标签为例子

在CSS选择器中,有那么一些用于实现特殊效果的选择器,我们称之为伪类,具体来说我也说不太清除,这里就只能简单的和大家谈谈我的看法。

大部分时候选择使用伪类是为了实现一些动态的效果,即在某些操作后使用别的CSS样式,有点类似于触动一些方法去改变CSS样式,甚至在很多的课程中,很多曾经的伪类都推荐通过自定义方法改变CSS内容来实现。这就是我个人对伪类的一些理解。

但今天还不谈这些,我想给大家讲个例子,方便大家来了解伪类,即标题中提到的<a>标签的伪类。我觉得这是一个很好的例子,因为这个例子在实际的开发中可以说有很广泛的应用,从而也导致了很多的笔试中喜欢去考察这个点,这里我就以此为例讲一讲。

<a>标签主要涉及四个伪类,分别是以下四个:

  • :link //正常样式,即未操作前的样式
  • :visited //已经访问过的样式
  • :hover //鼠标放置在上面的样式
  • :active //触发时的样式

以上就是就是<a>标签上常用的四个伪类,其中所能选择去涉及的内容就更是多种多样了,这里我就跳出两个较为常用内容color(字体颜色)和text-decoration(下划线)给大家个示例看一下吧:

a:link{
  color: #000;
  text-decoration: underline;
}

a:visited{
  color: red;
  text-decoration: none;
}

a:hover{
  color: blue;
  text-decoration: none;
}

a:active{
  color: green;
  text-decoration: none;
}

上面就是个很基础的例子,但我觉得对于理解伪类是一个很不错的内容,大家可以自己去感受一下,写完对照上面所提到的功能去具体试一下。

这里给大家提个细节,大家思考一个问题,就是上面我所写的样式是有一定顺序的,这个顺序有没有影响呢?换个顺序结果会不会产生变化?如果时间够的话,我推荐大家亲自动手试一试再来回答这个问题。

这里我就先告诉大家答案了,上面的顺序是很重要的,如果改变了你会发现有的变化会产生缺失,部分效果你是会看不见的,具体多少个效果呢?这个就要视情况而定了,最极端的例子是你吧:link放最后,你就会惊喜的发现所有的例子都没用了。

这是为什么呢?这就涉及到CSS样式的优先级问题了,当某个元素有多个样式,且样式中存在某个或某几个属性相同但属性值不同的情况时,就会产生冲突,而冲突产生了我们就需要去处理,即只能选择某一个值去实现,在CSS中默认的处理方式是选择靠后的那个样式中的属性,就像往桌子上放书的后面面放上来的会压住前面放上来的,当然也存在特例,比如!important,你可以在某条属性后加上一条这个,这个属性就会脱颖而出了,具体用法和一些兼容性大家自己去了解一下吧。

上面讲了一些原理,但其实这还不是全部原因的,接下来我简单和大家分析回到我们这个例子中为什么会这样吧。伪类所设置的样式其实我们可以理解为正常情况下是不存在的,只有在一定条件下触发才对出现,而如果我们把:link放最下面,那别的样式触发时也是会被它覆盖掉的,从某种角度上来说,伪类是只有开没有关的,可能这样说有点绝对,但在这个例子李基本是这样的,他通过打开,然后利用一定的顺序覆盖掉样式,从而实现变化,故当你顺序不对的时候,就会导致一些错误。

至于这个顺序,我不推荐大家去硬背,而是你搞懂我上面所提的内容,理解性的去对应情况分析,相信你能够很轻松的对这个内容形成有效的记忆,就算记不下来,到时候自己推问题应该也不大的。伪类这个内容随着技术的变革已经越来越复杂,想要完全搞懂我觉得是很困难的,这里就简单的和大家分享一些我的理解,希望大家能有所收获。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,132评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 本文转载自:众成翻译译者:为之漫笔链接:http://www.zcfy.cc/article/239原文:http...
    极乐君阅读 12,107评论 1 62
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 11,434评论 2 66
  • 每天9点半到11点半,是我的太极时间。在小区湖边的大树下,有一块卧牛之地,以前松松软软长着小草的泥土已经被踩得很结...
    太极一丁阅读 1,657评论 0 1