2011-04-24 5 views
2

CSS를 작성하기 위해 Android 브라우저 만 감지하는 CSS 해킹이 있습니까? 모든 WebKit 브라우저가 아닙니다. iPhone 및 Android 브라우저의 일부 요소에 대해 다른 CSS를 작성하고 싶습니다.CSS가있는 Android 브라우저 만 감지 할 수있는 방법이 있습니까?

예를 http://paulirish.com/2009/browser-specific-css-hacks/

위해 나는 안드로이드 브라우저를위한 CSS 해킹을 할 수 있습니다.

+3

나는 그것을 개인적으로 피할 것입니다. 브라우저 검색은 항상 장기적으로 유지하기가 쉽지 않습니다. 그래서 우리는 미디어 쿼리와 같은 것들로 옮겨서 브라우저의 특성을 물어 보았습니다. "어떤 브라우저입니까?" – Parrots

+2

CSS는 이러한 종류의 물건을 처리하도록 설계되지 않았습니다. – BoltClock

+1

[페이지 자동 맞춤 기능]과 관련된 렌더링 문제 (http://stackoverflow.com/questions/8508889/android-autofit-mode-causing-issues-with-css-ko-kr)와 같은 Android 관련 단점이 있습니다. 너비 - 인 - 웹 페이지). 안드로이드 브라우저에만 적용되는 몇 가지 규칙 (예 : no-op'background-image :'해결 방법)을 목표로 삼는 방법은 매우 유용 할 것입니다. – supervacuo

답변

2

CSS는 특정 브라우저를 대상으로하기 위해 CSS에서 악용 버그를 참조합니다 (일반적으로 IE 6/등 레거시 브라우저에서 작동하는 일부 자료를 얻기 위해 해킹합니다). CSS 자체는 브라우저 감지 기능을 제공하지 않습니다. OS 감지 기능은 사용자가 원하는 기능입니다. 귀하의 질문에

내 위의 의견은, 당신은 사용자 에이전트 문자열을 잡아 수 있으며이 OS로 "안드로이드"가 포함됩니다 (! 그것을하지 않음) 말했다되는 :

Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone 

그럴 수 없어 이것이 100 % 신뢰할 수 있다면 (이성은 모든 안드로이드 폰이 그와 같이보고해야 함을 나타냅니다.), 미래에 이것이 변하지 않도록하는 것은 없습니다. 이 감지를 Javascript에서 수행하고 JS가 Android 용 사용자 정의 CSS 파일을로드 (문서에 다른 스타일 태그를 추가)하거나 서버 측 프로그래밍 (ASP/PHP 등)에서 감지를 수행해야합니다. 당신의 소스에 스타일 태그를 반향하게하십시오.

-1

현재 가장 좋은 방법은 브라우저/OS 감지 대신 기능 감지를 사용하는 것입니다. 도움이 될 수있는 Modernizr이라는 자바 스크립트 라이브러리가 있습니다. CSS3 이외의 브라우저가 headerfooter 같은 새로운 CSS3 태그 중 일부를 처리 할 수있는 트릭이 있다고 믿습니다.

+0

예, 기능 감지는 완벽하지만 ... 브라우저 버그도 있습니다. 같은 사소한 CSS 2는 데스크톱 웹킷에서 완벽하게 작동하고 안드로이드 브라우저 브라우저에서 예기치 않은 결과를줍니다. – SilentImp

관련 문제