Подтвердить что ты не робот

CSS: a: link vs просто (без: ссылка)

Итак, мы должны использовать следующий порядок для псевдоклассов-якорей 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.
4b9b3361

Ответ 1

: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>

Ответ 2

Просто "a" относится ко ВСЕМ возможным ссылкам (невидимым, посещенным, зависающим и активным), тогда как "a: link" относится только к нормальным нераспространенным ссылкам.

Если вы используете "a" вместо "a: link" , вы устанавливаете ссылки по умолчанию для ВСЕХ ссылок по умолчанию на все, что установлено "a" . В этом конкретном случае, поскольку вы указываете каждый возможный псевдокласс, по существу не имеет значения, говорите ли вы "a: link" или просто "a"

Итак, в первой группе, где вы выписываете все псевдоклассы (a: link, a: visited и т.д.), вы указываете CSS для каждого возможного случая WITHIN "a"

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" , вы фактически устанавливаете CSS по умолчанию для всех ссылок на то, что вы пишете в первой строке, а затем переопределяете CSS для других псевдоклассов

a    { color: red }          //set ALL links to red!
a:visited { color: blue }    //hm, never mind, let set visited links to blue
a:hover   { color: yellow }  //hm, never mind, let set hovered links to yellow
a:active  { color: lime }    //hm, never mind, let set active links to lime

Ответ 3

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

: ссылка - это когда ссылка не указана. Поэтому, когда есть якорь с атрибутом href, и пользователь никогда не был на странице за якорем.

Ответ 4

Селектор :link - это псевдоэлементный селектор для гиперссылок, любой элемент, который является гиперссылкой, будет сопоставляться. Селектор a будет соответствовать "только" элементам привязки.

Обычно каждый элемент a также является гиперссылкой, и я не знаю, как создать гиперссылку в HTML без использования привязки, поэтому вы можете использовать любой из них в большинстве случаев.

Однако использование только a будет соответствовать элементам привязки, которые не являются гиперссылками. Например, якорный элемент, написанный таким образом <a name=sign-up>Sign up form</a>, не будет соответствовать селектору псевдо-элемента гипертекста :link, но будет соответствовать селектору a.