14

したがって、CSSアンカー疑似クラスには次の順序を使用する必要があります

a:link    { color: red }    
a:visited { color: blue }  
a:hover   { color: yellow } 
a:active  { color: lime }  

しかし、私の質問は、なぜa:linkの部分を気にするのかということです。むしろ、上記に(おそらく明確さ以外に)利点はありますか?

a { color:red; } /* notice no :link part */
a:visited { color: blue; }
etc.,etc.
4

4 に答える 4

15

:link未訪問のリンク、つまり、ブラウザが訪問していない属性を持つアンカーを選択しますhref(ブラウザベンダーが「訪問済み」に対して持っている定義に関係なく)。

もしそうなら:link、それは決して一致しません<h1><a name="foo">A foo to be linked to</a></h1>

(最近は使用する必要がありますが<h1 id="foo">A foo to be linked to</h1>。)

それとは別に、それはそれが何のためにあるのかをより明確にします。

a         { color: orange }
a:link    { color: blue }    
a:visited { color: indigo }  
a:hover   { color: green } 
a:active  { color: lime }
  <a>my anchor without href</a>
  <br><br>
  <a href="http://somelinkhere.com">my anchor without href</a>

(それらはまた、異なるレベルの特異性を持っています)

于 2010-04-14T14:35:22.503 に答える
8

「a」はすべての可能なリンク(未訪問、訪問済み、ホバー、アクティブ)を指し、「a:link」は通常の未訪問のリンクを指します。

「a:link」の代わりに「a」を使用すると、すべてのリンクのデフォルトのCSSが「a」に設定されているものに設定されます。この特定のケースでは、可能な各疑似クラスを指定するため、「a:link」とだけ言っても「a」と言っても、基本的には関係ありません。

したがって、すべての疑似クラス(a:link、a:visitedなど)を書き出す最初のグループでは、「a」内で考えられる各ケースのCSSを指定しています。

a:link    { color: red }     //set unvisited links to red 
a:visited { color: blue }    //set visited links to blue
a:hover   { color: yellow }  //set hovered links to yellow
a:active  { color: lime }    //set active links to lime

「a」と書くだけの2番目のグループでは、実際には、最初の行に書いたものへのすべてのリンクにデフォルトのCSSを設定してから、他の疑似クラスのCSSを再定義しています。

a    { color: red }          //set ALL links to red!
a:visited { color: blue }    //hm, never mind, let's set visited links to blue
a:hover   { color: yellow }  //hm, never mind, let's set hovered links to yellow
a:active  { color: lime }    //hm, never mind, let's set active links to lime
于 2010-04-14T14:39:12.227 に答える
1

http://www.w3schools.com/css/css_pseudo_classes.asp

:linkは、リンクにアクセスしていないときです。したがって、href属性を持つアンカーがあり、ユーザーがアンカーの後ろのページにアクセスしたことがない場合。

于 2010-04-14T14:44:20.240 に答える
-1

セレクター:linkはハイパーリンクの疑似要素セレクターであり、ハイパーリンクであるすべての要素が照合されます。aセレクターは「のみ」のアンカー要素に一致します。

通常、すべてのa要素はハイパーリンクでもあり、アンカーを使用せずにHTMLでハイパーリンクを作成する方法を私は知らないので、ほとんどの場合、どちらかを使用できます。

ただし、のみaを使用すると、ハイパーリンクではないアンカー要素に一致します。たとえば、このように記述されたアンカー要素<a name=sign-up>Sign up form</a>は、ハイパーリンク疑似要素:linkセレクターとは一致しませんが、aセレクターとは一致します。

于 2013-11-07T12:17:29.913 に答える