2012-05-06 4 views
8

예 : http://jsfiddle.net/A8v9x/4/ - 첫 번째 링크를 클릭 한 다음 페이지로 돌아 오면 첫 번째 링크가 녹색으로 바뀝니다. 그러나 방문한 링크가 text-decoration:underline;으로 선언 되었더라도 여전히 밑줄이 없습니다. !important을 해당 규칙에 추가하더라도 아무런 변화가 없습니다.방문한 링크 밑줄 표시

CSS 사양에서 이러한 동작에 대한 정보를 찾을 수 없습니다. 일반적인 브라우저 버그입니까? 어떻게 해결할 수 있습니까?

+0

큰 문제는, 그것이'보인다하십시오'underline' 있지만 : hover'는 점'텍스트 장식을하지 visited' 어떤 이유로하지 않는 '경우 A : link'는'text-decoration : none'을 가지고 있습니다 ... –

답변

14

:visited에서 텍스트 장식을 변경할 수 없습니다. 이는 https://developer.mozilla.org/en/CSS/Privacy_and_the_:visited_selector에서 논의되는 개인 정보 보호 문제와 관련이 없습니다. 기본적으로 계산 속성을 변경하면 웹 사이트에서 사용자가 방문한 사이트를 확인할 수 있습니다.

방문한 링크의 스타일을 지정하는 데 사용할 수있는 CSS 속성은 색상, 배경색, 테두리 - * - 색상, 윤곽선 색상 및 열 규칙 색상이며 방문하지 않은 스타일과 방문한 스타일 모두 색상 서버를 페인트하지 않거나 없음), 채우기 및 획 속성. 허용되지 않는 속성 및 허용 된 속성의 알파 구성 요소의 경우 rgba() 또는 hsla() 색상 또는 투명이 사용되는 경우 방문되지 않은 링크의 스타일이 대신 사용됩니다.

+1

고맙습니다. – naivists

1

어제 같은 문제가 있었지만 해결 방법을 발견했습니다. 예전에는 밑줄이있는 링크와 방문한 링크를 사용하지 않고 방문자가 동일한 링크를 두 번 클릭하지 않는 것이 더 간단했습니다.

나는 똑같은 일을하려고 할 때 어제 놀라움을 가지고 일을하지 않았습니다. 2007 년부터 모든 브라우저가 보안상의 이유로 "방문한"사이트를 제한한다는 사실을 인터넷에서 발견 할 때까지 30 분을 잃어 버렸습니다. 그들은 단지 "방문한"으로 설정할 수있는 6-7 속성과 같습니다. 그리고 그 중 하나는 테두리 색입니다. 그런 다음 밑줄을 none으로 설정하고 에 "border-bottom-color"를 사용하여 밑줄을 그어으로 지정했습니다. "border-bottom-color : transparent;"를 설정할 수 없습니다. 방문한 사용자에게는 이 테두리 색을 부모 요소 배경색과 동일한 색으로 설정합니다 (). 일단 링크를 방문하면 밑줄이 보이지 않게됩니다.

<style type="text/css"> 
body{color:black;background-color:white;} 
a:link{color:blue;text-decoration:none;border-bottom: 1px solid;border-bottom-color:blue;} 
a:visited{color:red;border-bottom-color:white;} 
</style> 

또는 당신은 배경과 방문에 대해 다른 색으로 링크 테두리 색상을 동일하게 설정하여 역을 (당신이 무엇을 요구) 할 수 있습니다. 역에

데모 : https://jsfiddle.net/stfr9f9a