问答方式学习超级链接A标记

2016-02-19 17:45 11 1 收藏

今天图老师小编给大家展示的是问答方式学习超级链接A标记,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - Web开发 】

问:

我已经使用CSS定义了超链接的样式,但是浏览时hover(鼠标悬停)却不起作用。为什么会这样?是浏览器的问题吗?

答:

虽然你认为可能原因是浏览器问题,但是更多的可能是你样式定义时顺序错误。为了保证能看到不同状态下的连接样式,正确的样式顺序应该是:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

" link - visited - hover - active "或" LVHA "(缩写)。

核心内容:

每个选择符selector都有一个“specificity”如果两个selectors应用于同一个元素,具有较高specificity的选择符将胜出,具有优先权。例如:

P.hithere {color: green;} /* specificity = 1,1 */
P {color: red;} /* specificity = 1 */

任何设置了类class=hithere的段落内容显示为绿色而不是红色。两个selectors都设置了颜色,但是具有更高specificity的选择符将胜出。

伪类如何影响specificity呢?它们具有完全相同的加权值,下列样式具有相同的specificity加权值:

A:link {color: blue;} /* specificity = 1,1 */
A:active {color: red;} /* specificity = 1,1 */
A:hover {color: magenta;} /* specificity = 1,1 */
A:visited {color: purple;} /* specificity = 1,1 */

这些都是用于超链接的样式设置。大部分情况下需要同时设置其中的几个样式,例如,一个未被访问的超链接在鼠标悬停和点击时可设置“鼠标悬停”和“鼠标激活“两种状态下的不同样式,由于上述三个规则都可应用于超链接,并且全部选择符具备相同的specificity,那么根据规则,最后一个样式“胜出”。所以" active "式样永远也不会显示出来,因为它总是被" hover "式样覆盖(即" hover "优先)。现在再来分析一下已经被访问过的超链接鼠标悬停是什么效果,结果永远是purple紫色的:( ,因为它的" visited "式样总是优先于其它的状态样式规则(包括" active "和" hover")而显示。

这就是为什么CSS1推荐样式顺序的原因:

A:link
A:visited
A:hover
A:active

实际上,开头两个样式的顺序可以调换,因为一个超链接不可能同时存在“未访问”和“已访问”两种状态。( :link意思是" unvisited ";我不知道为什么不这样定义呢.)

CSS2现在允许伪类可以以“联合成组”形式出现,例如:

A:visited:hover {color: maroon;} /* specificity = 2,1 */
A:link:hover {color: magenta;} /* specificity = 2,1 */
A:hover:active {color: cyan;} /* specificity = 2,1 */

They have the same specificity, but they apply to fundamentally different beasts, and so don't conflict. You can get hover-active combinations, for example.

如何理解本文当中所涉及到的“specificity”呢?specificity可以理解未简单地连在一起的号码字符串,上面的一个例子:
P.hithere {color: green;} /* specificity = 11 */
P {color: red;} /* specificity = 1 */

这好像是一个基于十进制的简单运算。然而计算“specificity”不能使用十进制算法,例如你把15种选择符连在一起使用、它们具有的“specificity”加权值还是比简单的class选择符低。举例:

.hello {color: red;} /* specificity = 10 */
HTML BODY DIV UL LI OL LI UL LI OL LI UL LI OL LI (color: green;} /* specificity = 15 */

" 10 "实际上是一个“1”后面接着“零”、不是"十",我们可以使用十六进制描述前面的样式规则的specificitiy,像下面:

.hello {color: red;} /* specificity = 10 */
HTML BODY DIV UL LI OL LI UL LI OL LI UL LI OL LI (color: green;} /* specificity = F */

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

唯一的问题是如果你想为第二个样式规则增加两个或更多的选择符时,那时你就可能得到一个“17”的specificity、会再一次混淆。事实上specificity可能是无穷大的,所以为了避免更多的混乱,建议使用逗号来分隔specificity的值。

站长建议:反复练习specificity的加权值的计算,网站CSS的设置体现了你控制页面的能力,在动态网站开发中,CSS的地位也是非常重要的,多看资料,多练习,多来网页教学网!如果你喜欢本站就代为宣传吧!谢谢阅读。

来源:http://www.tulaoshi.com/n/20160219/1615975.html

延伸阅读
标签: flash教程
1、从网上下载一张素材,将素材导入flash软件中。 2、新建一个图层,图层1是我们的背景图层,接着我们就要在图层2开始制作文字。   3、选择工具面板中的文字工具。 ...
标签: Web开发
相关文章:超级链接a的提示方式和打开方式 表现形式 用户或设计师遇到的麻烦: 1.用户分不清是否是链接,得鼠标移到目标上如果变成手形才能确定是链接。 2.统一链接颜色不利于界面设计。 分析: 以baidu/google为代表的蓝色加下划线是为最经典的链接样式,很直接的体现了可点/已点过。但是不同的网站各有风格,不可能都做成那样的链接样式,...
procedure getAllLinks2(WB: TWebBrowser; var InnerText,Links: TStringList); //needs unit as :shDocVw,Classes,MSHTML,variants var Htmldoc     : IHtmlDocument2; AllLinks    : IhtmlElementCollection; Len,I   : Integer; //HtmlItem2    :...
标签: autocad教程
您正在看的AutoCAD教程是:超级链接的概念与使用。 超级链接简介     超级链接(Hyperlink)可以看作是一种文件的指针,它提供了相关联文件的路径,以指向在本地、网络驱动器或 Internet 上存储的文件,并可跳转到相应的文件;也可以在超级链接中指定跳转到文件中的一个命名位置,例如 AutoCAD中的一个视图或字处理程序中的...
标签: Web开发
深藏多年秘笈大公开,全世界唯一一家公布,怎么点就是点不出,纯CSS去掉按钮或者链接点击产生的虚线。 运行代码框 style type="text/css".wrap{position:relative;}.btns{zoom:1;}.btns *{outline:0;zoom:1;background:#f2f2f2;}.btns button::-moz-focus-inner{border-color:transparent!important;}/stylediv class="wra...

经验教程

399

收藏

53
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部