2012-05-30 3 views
9

이 CSS 스타일을 사용하면 페이지에서 강조 표시된 텍스트 선택을 방지 할 수 있습니다. 그러나 이로 인해 입력 필드가 Safari의 사용자 입력에서 잠기 게됩니다.사용자 선택 : 없음은 Safari에서 입력 필드에 액세스 할 수 없도록합니다.

* { 
-webkit-touch-callout: none; 
-webkit-user-select: none; // locks fields on Safari 
-khtml-user-select: none; // locks fields on Safari 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none;  
} 

Safari에서 입력 필드를 방해하지 않고 사용자 선택을 방지 할 수있는 방법이 있습니까?

답변

19

입력을 제외한 모든 것에 스타일을 적용하지 않는 이유는 무엇입니까?

CSS3 방법 : *:not(input){...}

+0

. 감사. – user823527

+0

텍스트 영역을 잊지 마라. * : not (input textarea) {...}' –

+7

@tomaspolach 구문이 틀렸다. 올바른 구문은 다음과 같습니다. * : not (input) : not (textarea) –

0

내가 좀 더 정확한 무언가를 필요로했다. CSS의 모든 경우에

input[type=text] 
{ 
    -webkit-user-select: text; 
} 

input[type=password] 
{ 
    -webkit-user-select: all; 
} 
+0

기능면에서 차이점은 무엇입니까? 죄송합니다. 그냥 바쁘신가요? –

+0

이 경우 유형 속성이 텍스트 또는 비밀번호로 설정된 특정 입력 요소 만 선택됩니다. 이것은 'not'를 지원하지 않는 구형 브라우저에 필요합니다. 그러나, 나는 이것을 할 것이다.'* {... user-select : none; } 입력 {... 사용자 선택 : 텍스트; }' –

0

: 일

*:not(input), *:focus:not(input) { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    outline-style:none;/*IE*/ 
} 
관련 문제