2

어떻게 드루팔 (Drupal 7에서 브라우저 특정 CSS를 가질 수 있습니까? 브라우저가 크롬 인 경우 chrome.css를로드하고 싶습니다. 제발 도와주세요드루팔 (Drupal 7) 브라우저 관련 CSS

+0

IE <9 이외의 브라우저 특정 스타일 시트는 무엇이 필요합니까? – Spudley

+0

@ Spudley : Chrome – JAB

+0

에 대해서만 브라우저 별 CSS가 필요합니까? 무슨 특별한 특징이 있니? – Spudley

답변

8

preprocess_html 테마 훅 및 drupal_add_css 기능을 사용하여 template.php 파일에서이 작업을 수행 할 수 있습니다.

당신은 bartik 예를 들면, 드루팔 7 테마에서 예를 찾을 수 :

// Add conditional stylesheets for IE 
drupal_add_css(path_to_theme() . '/css/ie.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'lte IE 7', '!IE' => FALSE), 'preprocess' => FALSE)); 
drupal_add_css(path_to_theme() . '/css/ie6.css', array('group' => CSS_THEME, 'browsers' => array('IE' => 'IE 6', '!IE' => FALSE), 'preprocess' => FALSE)); 

편집 : 더 조건부 주석 크롬에 대한이 없기 때문에, 당신은 $ _SERVER를 확인하실 수 있습니다 [ 'HTTP_USER_AGENT'] :

if (isset($_SERVER['HTTP_USER_AGENT']) 
    && stripos($_SERVER['HTTP_USER_AGENT'], 'chrome')!==false) { 
    drupal_add_css(...); 
} 

그러나이 작업을 수행하기 전에 CSS 규칙을 수정 해보십시오!

+1

하지만 Spudley와 마찬가지로 이렇게하기 전에 CSS 규칙을 수정해야합니다 **. – soju

+0

그것은 IE를위한 조건부 CSS를 어떻게 추가합니까? – JAB

+1

크롬에 대한 조건부 주석이 없으므로 $ _SERVER [ 'HTTP_USER_AGENT']을 (를) 확인해야합니다. – soju

0

나는 이전 버전의 스피커에 동의한다. 브라우저에 특정 코드가 필요하지 않도록 CSS를 변경해야하지만, 실제로 웹킷 브라우저 (Chrome 및 Safari)를 타겟팅해야하는 경우이 솔루션을 살펴볼 수있다. :

http://www.evotech.net/blog/2010/04/hack-for-webkit-filter-for-chrome-and-safari/

그것은 드루팔 특정 아니지만, 만일의 경우에, 웹킷을 대상으로하는 그렇고 그런 허용 방법.

1

은 내가 Conditional Stylesheets module

Internet Explorer가 조건부 댓글라는 독자적인 기술을 구현하고 사용하는 것이 좋습니다. 웹 개발자는 브라우저가 지원되지 않는 기술 을 싫어하지만 많은 CSS 개발자는 조건부 주석이 매우 유용하다는 사실을 발견했습니다. 일반 스타일 시트에서 더 깨끗한 CSS를 사용할 수 있으며 조건부 주석 내에 IE 전용 CSS를 배치하여 IE에서 깨진 렌더링을 수정할 수 있습니다. 이 기술은 심지어 Microsoft에서 권장하는 입니다. 이 모듈이 없으면 IE 조건부 스타일 시트 을 사용하는 유일한 방법은 테마 템플릿에 대한 기억하기 힘든 네 가지 기능 호출에서 3735 줄의 코드 (두 개 이상의 스타일 시트를 추가하려는 경우)를 추가하는 것입니다. .php. 블레치. 누가 그것을 원하니?

관련 문제