2011-10-25 2 views
1

제출 버튼의 텍스트 값을 정확히 클릭하면 IE8에서 input:active CSS 선택기의 속성이 표시되지 않습니다. .제출 입력이 : 버튼의 텍스트를 클릭하면 IE8에서 활성 상태가 표시되지 않습니다.

하지만 버튼의 다른 부분을 클릭하면 가져옵니다.

왜? 어떻게 해결할 수 있습니까?

+0

입니다 :

jsFiddle에 내 솔루션에서 참조하시기 바랍니다? 흠? – Kyle

+0

다음은 바이올린입니다 : http://jsfiddle.net/UxuH2/ –

답변

5

당신은 당신의 input:active 선택 선언에 input:focus을 적용하여이 작업을 수행 할 수 있습니다 :

input:active,input:focus{background-color:#000} 

함께 :active:focus을 적용 UI/UX/등등 .... 많은 것을 위해 중대하다.

+3

사실, 포커스에': active' 스타일을 적용하지 않으려는 경우, 이것은 바람직하지 않습니다. ': active'와': focus'는 결국 다른 의미를 갖습니다. –

+0

이 문제에 대해 대단히 감사합니다! 어쨌든 ie9는 클릭 할 때 제출 버튼에서 텍스트 값을 이동시키고 있으며 멈출 수 없습니다. 어떤 생각? – Burnee

+0

나는 버그가 -1x-1을 던져 버리고, 입력을 시도한다고 생각한다 : 액티브, 입력 : 호버 {-ms-background-position : -1px -1px} 차이점이 무엇이든, -1px가 올바른 px . 또한 idk는 albert

0

:active 선택기 편집 IE의/편집 선택 스타일 활성 링크 (앵커) 요소가 아닌 입력하는데 사용된다.

Javascript를 사용하여 버튼에 초점 이벤트를 첨부하십시오.

+0

': active'는 다른 브라우저에서''의 활성 상태를 선택하는 데는 잘 작동하는 것 같습니다. CSS 2.1 스펙 [CSS1에서 '링크에 적용된': 활성 '가상 클래스] (http://www.w3.org/TR/CSS2/selector.html#dynamic- pseudo-classes) - CSS 2.1에서 아마도 입력에 적용됩니다. –

+1

당신은 자바 스크립트가 문제를 해결하는 방법이라는 것을 전적으로 옳게 생각합니다. –

+0

@Paul 당신이 맞아요,하지만 난 IE에 대한 언급했는데, 전 대답이 – Irishka

1

정말 흥미 롭습니다. 전에는 눈치 채지 못했습니다. IE9도 똑같은 일을합니다 : 텍스트를 클릭하면 :active 스타일이 적용되지 않습니다. 텍스트 외부를 클릭하면됩니다.

IE6과 7은 버튼에 많은 텍스트가있는 경우 버튼의 가장자리가 들쭉날쭉하게 그려지는 문제가있었습니다. 이 문제는 applying overflow: visible to the button으로 해결할 수 있습니다. 그래도이 문제에 아무런 영향을주지 않는 것 같습니다.

단추 모양을 제공하기 위해 zoom: 1을 적용 해 보았습니다 (양식 컨트롤에 이미 레이아웃이 있지만).하지만 아무런 효과가 없었습니다.

불행히도이 문제에 대한 CSS 해결 방법이없는 것 같습니다.

0

큰 덕분에 앨버트는 :focus 선택기를 언급했습니다. 좋은 정보를 찾지 않고도 몇 시간 동안 '클릭 연결'문제에 대한 해결책을 찾고있었습니다.

내 문제는 OP와 비슷하지만 입력 버튼 대신 링크가 있습니다.

는 기본적으로, 나는 여러 링크/버튼이 있고 IE에서 만 것없는 '빛'을 통해 a 내부의 span 때문에 버튼의 속성을 변경할 링크에 :active 선택기를 사용 할 수 없었습니다.

지금, 나는 onclick="this.blur();"과 함께 aa:activea:focus를 사용하여 내 목적을위한 매력처럼 작동합니다. 코드가 http://jsfiddle.net/pezzi/UzARF/

관련 문제