2015做导航网站有哪些功能,建设项目环境影响登记网站天津,在线海报生成,怎么做淘宝网站赚钱技巧起因#xff1a; a与a:link的CSS代码处#xff0c;忽觉茫茫然不知所以然#xff1a;这a的CSS和a:link什么关系#xff1f;貌似有些冲突啊#xff1f;还有这a:link、 a:visited、a:hover、a:active伪类之间有没有相互制约和继承关系#xff1f; 过程#xff1a; 使用软件…起因 a与a:link的CSS代码处忽觉茫茫然不知所以然这a的CSS和a:link什么关系貌似有些冲突啊还有这a:link、 a:visited、a:hover、a:active伪类之间有没有相互制约和继承关系 过程 使用软件Adobe Dreamweaver CS3 Internet Explorer8.0 须知 ① 在所有浏览器中链接的默认外观是 未被访问的链接带有下划线而且是蓝色的已被访问的链接带有下划线而且是紫色的活动链接带有下划线而且是红色的 ② 在 CSS 定义中1. a:hover 必须位于 a:link 和 a:visited 之后这样才能生效2. a:active 必须位于 a:hover 之后这 样才能生效于是得四者顺序a:link-----a:visited------a:hover--------a:active。 可以这样记LoVe HAte爱恨 [注意大写字母] 结果 在CSS中 一、若存在a{……}的定义 ①如果a:link{}也存在那么不管a{}放到哪里a{}和a:link{}冲突的属性都会采用a:link{}的不冲突的属性若存在a{}中会被a:link{}、 a:visited{} 、a:hover{} 、a:active{}都继承如果存在a:link{}中只会被a:link{} 、a:hover{} 和a:active{}继承a:visited{}不继承。②如果没写a:link只有其余三个那么a:link会继 承a{}的所有属性其余三个会保持自己的已有属性并从a{}中继承没有的属性。 ③如果没写a:hover只有其余三个那么a:hover{}会继承a:link{}中的所有属性并从a{}中继承自己没有的属性a:link{}会保持自己已有属性并从a{} 中继承没有的属性a:active{}会保持自己已有属性先从a:link{}中继承没有的属性再从a{}中继承至此前还没有的属 性a:visited{}会保持自己已有属性并直接从a{}中继承没有的属性。 ④如果没写a:active{}只有其余三个那么a:active{}会继承a:hover{}的所有属性之后上溯到a:link{}中继承至此之前 自己还没有的属性再从a{}中继承自己至此仍没有的属性a:hover{}会保持自己已有属性先从a:link{}中继承自己没有 的属性再从a{}中继承至此仍没有的属性a:visited{}会直接从a{}中继承自己没有的属性。 ⑤如果没写a:visited{}只有其余三个那么a:visited{}会继承a{}的所有属性。其余三个都是保持自己已有属性先从上一级分级看上面的须知②其中 a:link的上级是a中继承没有的属性再从a{}中继承至此自己没有的属性。 二、若没有a{……}的定义 ①如果没写a:link{}a:link{}将采用默认的字体大小无和颜色蓝色②如果没写a:hover{}a:hover{}将继承a:link{}的所有属性。如果有a:hover{}它将从a:link{}中继承自己没有的属性。③如果没写a:active{}a:active{}将先继承a:hover{}中 的所有属性然后从a:link{}中继承至此仍没有的属性。④如果没写a:visited{}a:visited{}将采用默认的字体大小无和颜色紫色。 综上所述效果图如下 以前用CSS一直没有遇到过这个问题在最近给一个本科同学做的项目里面。出现一些问题搜索引擎查了一些网站和资料发现很多人问到这个问题给出的结果我试了试大部分都不正确。 给出我试的顺序可能会对大家有一些帮助 复制代码 代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--A:link { color: #000000; TEXT-DECORATION: none } A:visited { COLOR: #000000; TEXT-DECORATION: none } A:hover { COLOR: #ff7f24; text-decoration: underline; } A:active { COLOR: #ff7f24; text-decoration: underline; } 今天看到一位匿名朋友的问题又去查了一些资料这个人讲的非常透彻引自灵眸●第一炉沉香博客 a :link、a:hover、a:visited这几个元素定义CSS时候的顺序不同也会直接导致链接显示的效果不同。 我想原因就在于浏览器解释CSS时遵循的“就近原则”。 举例来说 我想让未访问链接颜色为蓝色活动链接为绿色已访问链接为红色 第一种情况我定义的顺序是a:visited、a:hover、a:link这时会发现把鼠标放到未访问过的蓝色链接上时它并不变成绿色只有放在已访问的红色链接上链接才会变绿。 第二种情况我把CSS定义顺序调整为a:link、a:visited、a:hover这时无论你鼠标经过的链接有没有被访问过它都会变成绿色啦。 这是因为一个鼠标经过的未访问链接同时拥有a:link、a:hover两种属性在第一种情况下a:link离它最近所以它优先满足a:link而放弃a:hover的重复定义。 在第二种情况无论链接有没有被访问过它首先要检查是否符合a:hover的标准即是否有鼠标经过它满足则变成绿色不满足则继续向上查找一直找到满足条件的定义为止。 一句话在CSS中如果对于相同元素有针对不同条件的定义宜将最一般的条件放在最上面并依次向下保证最下面的是最特殊的条件。 这样浏览器在显示元素时才会从特殊到一般、逐级向上验证条件才会使你的每一个CSS语句都起到效果。 当然如果故意打乱顺序也会造成一些特殊的效果。比如可以为链接制造出下划线颜色与文字颜色的差异。 近日突然发现原来这个CSS问题早已有高人提出啦。还是个老外呢。他给总结了一个便于记忆的“爱恨原则”LoVe/HAte即四种伪类的首字母:LVHA。 再重复一遍正确的顺序a:link、a:visited、a:hover、a:active . 最后经验补充 1.鼠标经过的“未访问链接”同时拥有a:link、a:hover两种属性后面的属性会覆盖前面的属性定义 2.鼠标经过的“已访问链接”同时拥有a:visited、a:hover两种属性后面的属性会覆盖前面的属性定义 所以说a:hover定义一定要放在a:link、a:visited的后面