2010-07-02 3 views
3

방화 광구는 스타일이없는 텍스트 상자가 테두리임을 주장합니다. 3px inset # F0F0F0;파이어 폭스/사파리의 기본 텍스트 상자 모양

그러나, <input type="textbox" style="border: 3px inset #F0F0F0;" /><input type="textbox" />은 매우 다른 보더를 생성합니다. 무슨 일 이니?

이것은 Safari, Chrome, Firefox에서 마찬가지입니다. IE가 없으므로 관련 정보가 없습니다.

답변

4

다음 appearance/-moz-appearance/-webkit-appearance 속성이 none 이외로 설정되어있는 경우는에 <input type="text">위한 가득 차거나 브라우저의 요소의 정상적인 CSS 테두리/배경이 폐기되는 스타일 시트 - 다음 기본 테마가있는 플랫폼에서 평범한 구식 CSS가 제공하는 평면 3D 오브젝트와 다르게 보일 수있는 플랫폼 특정 테마를 선호합니다.

<div style="-moz-appearance: textfield">x</div> 
<input style="-moz-appearance: none" value="x"/> 

홀수와 같은-까지-AS-I는 - - 말할 수-문서화되지 않은 캐치 모두에서 어떤 background 또는 border 규칙 요소에 설정되어있는 경우, 그 -moz-appearance가 무시되고 none이 대체된다는 점이다, 예를 들어 평면 3D 테두리 스타일을 얻습니다. 이는 테마가 입력되지 않은 것처럼 보입니다.

규칙이 다른 스타일의 계산 된 값이 아닌 경우에도 마찬가지입니다. background: default; border: default만이이 동작을 유발하지 않습니다.

(IE는이 appearance 스타일을 노출하지 않습니다 불구하고, 유사하게 동작합니다. IE는 A의 CSS를 inset/outset 국경 스타일을 렌더링하기 때문에 또한 XP/2000 '고전'테마의 사용자가 차이를 볼 수 없습니다 그런데 '클래식'Windows 스타일에 어울리는 방식으로 일치시킵니다.)

+0

좋은 대답이지만,이 문제를 파악하는 데 어려움이 있었지만 실제로는 분명히했습니다. 폼에 관해서 가장 큰 불만은 type = "file"의 입력 스타일을 지정할 수 없다는 것입니다. 특히 폼의 모양을 엉망으로 만들 수 있습니다. – stephenmurdoch

+1

예, 파일 업로드 필드는 자체 법률입니다. 커스텀 스타일의 양식 필드는 일반적으로 어려움을 겪고 종종 피하는 것이 가장 바람직하지만 파일 업로드에 대해 관리 할 수있는 것보다 훨씬 정교하게 정렬되도록 필드 너비를 최소한 설정할 수 있습니다. – bobince

1

운영 체제가 다른 여러 브라우저에는 운영 체제의 UI와 일치하는 다양한 기본 양식 제어 스타일이 있습니다. 양식 요소를 스타일링하기 시작하면 브라우저가 자체 기본 스타일을 추가 함을 알 수 있습니다 (재정의 할 수 있음).

방화범이 끌리는 것은 아마도 텍스트 상자에 대한 특정 기본 브라우저 스타일을보고하는 것일뿐입니다.하지만 그 요소에 대한 다른 스타일이 없으므로 보이지 않습니다. 따라서 OS UI가 대신 사용됩니다. 이 일을 해야하는 방법

관련 문제