2011-02-23 3 views
2

기본 선택과 달리 확인란을 사용하여 둘 이상의 개체를 선택할 수있는 사용자 지정 jQuery 선택 확인란 목록을 사용하고 있습니다. 이것은 ThemeRoller를 지원하지만 내 페이지의 나머지 컨트롤은 기본 html (선택, 버튼 등)이기 때문에 사용자 정의 선택도 기본으로 보이기를 원합니다.IE Windows 테마, CSS 및 현재 스타일

Win XP IE 7을 기반으로 스타일을 만들었지 만 사용자가 XP를 사용하지 않거나 다른 테마가있는 경우 물론 재미 있습니다. 가장 큰 문제는 경계선 색상과 스타일입니다. 내가 사용하여 페이지의 기본 컨트롤에서 테두리 속성을 가져 오는 시도

:

var borderStyle = select.currentStyle.borderStyle; //returns none 
var borderWidth = select.currentStyle.borderWidth; //returns 1 
var borderColor = select.currentStyle.borderColor; //returns #fffff 

그러나이 값은 내가 고체 빛 파란색 테두리를 반환을 기다리고 있었다 (코드 주석 참조) 올바르지 않습니다. 나는 또한 select.style.border와 그 변형을 행운으로 시도했다.

Internet Explorer에서 select의 네이티브/기본 테두리 스타일을 올바르게 검색 한 다음이 스타일을 내 사용자 지정 컨트롤에 적용 할 수있는 방법이 있습니까?

+1

일부 스크립트가 있기 때문에 xp 테마 자체를 확인하려고 할 수도 있습니다 (예 : http://notetodogself.blogspot.com/2010/03/jquery-detect-windows-xp-theme.html). – schellmax

답변

1

당신이 찾고있는 것이 CSS2 System Colors 인 것처럼 들립니다.

CSS2에는 운영 체제의 기본 색상에 매핑되는 미리 정의 된 여러 색상 이름이 정의되어 있습니다.

.mybutton {background: ButtonFace;} 

을 ... 그리고 그들은 OS 버튼에 사용하는 색상을 선택할 것 :

그래서 당신은, 예를 들어 다음과 같이 CSS에 버튼을 정의 할 수 있습니다.

아래쪽면은 CSS3에서 이러한 시스템 색상이 더 이상 사용되지 않아야하므로 브라우저를 사용해서는 안되며 브라우저 지원이 보장되지 않으며 이후 버전에서는 제거 될 수 있습니다.

운영체제에서 사용되는 색상 목록이 사실상 모든 OS간에, 심지어 동일한 OS의 다른 버전간에 차이가 있기 때문에 사용하지 않는 이유가 있습니다.

예를 들어,이 사양에는 WindowFrame에 대한 정의가 포함되어 있지만 물론 최근 버전의 Windows에서는 창 프레임의 투명 그라디언트 효과가 적용되므로 더 이상 사양에 따라 단일 색상의 컨텍스트에서 의미가 없습니다. 또 다른 예는 스펙이 3D 하이라이트와 쉐도우의 색상을 정의하지만, 스펙이 정의되었을 때보 다 3D 효과가 더 미묘하다는 것입니다. 도움이 http://www.w3.org/TR/CSS2/ui.html#system-colors

희망 : 당신이 그것을이 어쨌든 시도 부여하려면

, 당신은 여기에 시스템 색상에 대한 W3C의 사양을 찾을 수 있습니다.