2013-12-17 2 views
2

웹 프로젝트의 내 방문 링크에는 밑줄이 표시되지 않지만 나머지 수정 된 수정 사항은 작동하고, 밑줄은 호버 작동을 위해 작동합니다. 나는 강사에게 이렇게 보여 주었고 혼란 스러웠다. 그는 그것을 보면서 시간을 벌려고했다. 그러나 기한이 가까워지고있어. 나는 더 이상 기다릴 수 없다.방문한 링크는 밑줄이 표시되지 않습니다.

다음
a:link 
{ 
    text-decoration: none; 
    color: #d1bd22; 
    font-size: 1.3em; 
} 

a:visited 
{ 
    text-decoration: underline; 
    color: white; 
    font-size: 1.3em; 
} 

a:hover 
{ 
    text-decoration: underline; 
    color: #d1bd22; 
    font-size: 1.3em; 
} 

a:active 
{ 
text-decoration: none; 
    color: white; 
    font-size: 1.3em; 
} 

내 웹 사이트에 대한 링크입니다 : 다음은 앵커 태그를 다루는 내 레이아웃 페이지의 내 부분입니다

http://cis.luzerne.edu/~ds0002/morlansfamousshop.html

+5

외부 웹 사이트에 대한 링크를 게시하지 마십시오. jsfiddle을 사용하여 관련 HTML을 게시하여 문제점을 표시하십시오. – Kermit

+2

JS 피들 (Python Fiddle) 살펴보기 시각적으로 볼 수는 없지만 Chrome에 적용되는 규칙을 만들었습니다. 동일한 인라인 속성을 추가하면 밑줄이 예상대로 나타납니다. 나는이 시점에서 추측하고 있지만, CSS 브라우저의 역사 누설에 대한 몇 년 전에 나온 브라우저 제한을 따르는가? 색상은 아무런 문제없이 바뀝니다. – pwdst

답변

4

모자 팁을로 작동합니다.

Firefox의 경우 this documentation을 참조하십시오. 비슷한 규칙이 Chrome에도 적용됩니다.

JavaScript는 요소 (다른 요소 및 계산 된 스타일은 물론)에 적용된 스타일을 읽을 수 있으므로 :visited 인 경우 링크를 변경하면 사용자가 방문한 다른 사이트에 대한 정보가 표시 될 수 있습니다 .

사용자의 개인 정보를 보호하기 위해 브라우저는 :visitedtext-decoration에 의해 변경 될 수있는 속성을 변경할 수 없습니다.

은 참조 :

사용 도구 따라서 방문하지 않은 링크 등의 모든 링크를 치료하거나 방문하지 않은 링크 다르게 방문하고 렌더링하는 동안 사용자의 개인 정보를 보존하기 위해 다른 조치를 구현할 수 :이 동작을 축복 The Selectors specification을.

+0

스택 오버플로의 경우가 종종 그렇듯이 대답에 대해 "죽 이도록"구타하십시오. 신용 감사합니다. – pwdst

+0

고마워요, 방문했을 때 꾸며져 있기 때문에 꾸며져 있었고, 활성 상태가되었습니다. 밑줄 속성은 – KingDave212

-1

가 나는이 일어나고있는 이유는 우선 순위 믿습니다.

다른 링크 앞에 a : 링크를 정의 했으므로 다른 링크에 추가 가중치가 추가되어 있지 않으므로 첫 번째 정의가 브라우저에서 사용 중입니다.

는 퍼팅보십시오 : 마지막에 링크를하고 (단지 특정 호버 이후와 이전의 정의와 일치합니다 방문) 예상이 안보에 대한 @pwdst하는

+1

규칙은 동일하지만 나중에 규칙은 첫 번째 규칙보다 우선해야합니다. 추가적으로 a : 링크 스타일을 사용하는 것은 실제로는 일어나지 않습니다. – pwdst

+0

a : 링크 스타일이 정확히 적용되고 있습니다 (OP를 기반으로 함) – Donovan

+0

이것은 일어난 일이 아니겠습니까? 아무리 적은 기본 CSS 지식이라면 이것이 정답이 아닐 것이라고 제안했을 것입니다. – pwdst

3

나는 의견에서 추측에 정확했다. 테스트 예제 (JS Fiddle 또는 테스트 HTML 파일에서)를 작성하는 경우, 개발자 도구에서 조사 할 때 이 적용되지만 시각적으로 볼 수는 없습니다. 왜 이런거야?

사용자의 개인 정보가 악의적 인 사이트에 의해 (종종 숨겨 짐) 페이지에 추가 된 다음 사용자가 URL을 방문했는지 여부를 확인하기 위해 : visited 의사 클래스를 사용하여 손상된 것에 대한 몇 가지 이야기가있었습니다.

결과

에게 모질라 개발자 네트워크 states-

참고 : 개인 정보 보호를 위해, 엄격하게 당신이 이 의사 클래스가 선택한 요소를 사용하여 적용 할 수있는 스타일을 제한 브라우저 : 만 색상을 테두리 색, 테두리 색, 테두리 아래 색, 테두리 왼쪽 색, 테두리 오른쪽 색, 테두리 위쪽 색, 윤곽선 색, 열 규칙 색, 채우기 및 획을 지정합니다. 알파 구성 요소는 무시됩니다. 대신에 방문하지 않은 규칙의 알파 구성 요소가 사용됩니다 (불투명도가 0 인 경우, 의 경우에는 전체 색상이 무시되고 방문하지 않은 경우는 제외) 규칙이 사용됩니다. 색상이 변경 될 수 있지만

, 방법 getComputedStyle이 거짓말 항상 비 방문 색상의 값을 돌려 줄 것입니다.

을 더 제한 사항에 대한 정보와 그들에 대한 동기 부여 개인 정보 보호 및 방문 판매자 참조

https://developer.mozilla.org/en-US/docs/Web/CSS/:visited

색상 속성이 적용 시각적 존재로보고된다는 점에서, 또한 절반 만 사실이었다 적용되고 있다는 사실을 참조하십시오 -하지만 getComputedStyle 방법은 거짓말을하고 규칙 인 것처럼 색상을 반환합니다 적용되지 않은.

결과적으로 악성 웹마 스터는이 기술을 사용하여 방문한 웹 사이트를 더 이상 결정할 수 없습니다.

+0

입니다.이 답변은 IMO입니다. 또한 관련 스레드를 참조하십시오. http://stackoverflow.com/questions/8331688/why-doesnt-this-avisited-css-style-work –

+0

주목할만한 또 하나의 것. 일반 시크릿 모드와 탐색 모드에서이 두 가지 바이올린을 실행하면 올바른 배경색이 표시됩니다. http://jsfiddle.net/5sppR/2/ –

관련 문제